国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue全局使用axios的方法實例詳解

2024-05-06 15:27:47
字體:
來源:轉載
供稿:網友

在vue項目開發中,我們使用axios進行ajax請求,很多人一開始使用axios的方式,會當成vue-resoure的使用方式來用,即在主入口文件引入import VueResource from 'vue-resource'之后,直接使用Vue.use(VueResource)之后即可將該插件全局引用了,所以axios這樣使用的時候就報錯了,很懵逼。

仔細看看文檔,就知道axios 是一個基于 promise 的 HTTP 庫,axios并沒有install 方法,所以是不能使用vue.use()方法的。☞查看vue插件

那么難道我們要在每個文件都要來引用一次axios嗎?多繁瑣!??!解決方法有很多種:

1.結合 vue-axios使用
2.axios 改寫為 Vue 的原型屬性
3.結合 Vuex的action

1.結合 vue-axios使用

看了vue-axios的源碼,它是按照vue插件的方式去寫的。那么結合vue-axios,就可以去使用vue.use方法了

首先在主入口文件main.js中引用:

import axios from 'axios'import VueAxios from 'vue-axios'Vue.use(VueAxios,axios);

之后就可以使用了,在組件文件中的methods里去使用了:

getNewsList(){   this.axios.get('api/getNewsList').then((response)=>{    this.newsList=response.data.data;   }).catch((response)=>{    console.log(response);   })}

2.axios 改寫為 Vue 的原型屬性(不推薦這樣用)

首先在主入口文件main.js中引用,之后掛在vue的原型鏈上:

import axios from 'axios'Vue.prototype.$ajax= axios

在組件中使用:

this.$ajax.get('api/getNewsList').then((response)=>{  this.newsList=response.data.data;}).catch((response)=>{  console.log(response);})

3.結合 Vuex的action

在vuex的倉庫文件store.js中引用,使用action添加方法

import Vue from 'Vue'import Vuex from 'vuex'import axios from 'axios'Vue.use(Vuex)const store = new Vuex.Store({ // 定義狀態 state: {  user: {   name: 'xiaoming'  } }, actions: {  // 封裝一個 ajax 方法  login (context) {   axios({    method: 'post',    url: '/user',    data: context.state.user   })  } }})export default store

在組件中發送請求的時候,需要使用 this.$store.dispatch

methods: { submitForm () {  this.$store.dispatch('login') }}

總結

以上所述是小編給大家介紹的vue全局使用axios的方法實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 弥勒县| 阿瓦提县| 体育| 云阳县| 射阳县| 涡阳县| 嘉义县| 封开县| 石阡县| 新化县| 民乐县| 鄂尔多斯市| 巴彦县| 贵阳市| 闽侯县| 抚宁县| 文昌市| 辛集市| 榆中县| 武汉市| 澜沧| 应城市| 阿图什市| 东阳市| 常熟市| 乐业县| 扶沟县| 津市市| 万宁市| 东至县| 桓仁| 寻甸| 颍上县| 红原县| 碌曲县| 丹江口市| 育儿| 获嘉县| 关岭| 前郭尔| 建昌县|