vue項目中關(guān)于axios全局配置

axios全局配置3種方法:

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

結(jié)合vue-axios使用:

  • 首先要安裝項目所需要的依賴:axios和vue-axios
  • npm install axios --save-dev 或者 cnpm install axios --save-dev
  • npm install vue-axios --save-dev 或者 cnpm install vue-axios --save-dev
第1種方法:首先在入口文件main.js中引入
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios)

然后就可以使用了,在你需要請求接口的地方使用

this.axios.get('api/getDataList').then((res)=>{
    this.dataList=res.data.data;
}).catch((err)=>{
    console.log(err);
})
第2種方法:axios改寫為Vue的原型屬性

首先在入口文件main.js中引入,然后掛在Vue的原型上

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

在你需要請求接口的地方使用

this.axios.get('api/getDataList').then((res)=>{
   this.dataList=res.data.data;
}).catch((err)=>{
   console.log(err);
})
第3種方法:結(jié)合 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({
  // 定義狀態(tài)
  state: {
    user: {
      name: 'kimi'
    }
  },
  actions: {
    // 封裝一個 ajax 方法
    login (context) {
      axios({
        method: 'post',
        url: '/register',
        data: context.state.user
      })
    }
  }
})

export default store

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

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

不過個人還是喜歡第二種方法,很方便~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 在回學校的在火車上,MP3里的歌剛好放到好妹妹樂隊的《像你這樣的朋友》,當時腦海里莫名的就閃過了L小姐的樣子??傆X...
    麋鹿小姐L閱讀 963評論 2 4
  • 下午做完實驗后,準備收拾書包走人,因為想要去上健身房。同學知道后,用很不屑的口吻說“真不知道你這么熱衷運動是為了什...
    穆葬閱讀 282評論 2 1
  • 五欲,又名五妙欲、五妙色,即財、色、名、食、睡,; 系指染著色、聲、香、味、觸等五境所引起的五種情欲。 1.財欲∶...
    gyp郭云鵬閱讀 781評論 0 0

友情鏈接更多精彩內(nèi)容