vue项目中关于axios全局配置

axios全局配置3种方法:

1.结合vue-axios使用
2.axios改写为Vue的原型属性
3.结合Vuex的action

结合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种方法:结合 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: 'kimi'
    }
  },
  actions: {
    // 封装一个 ajax 方法
    login (context) {
      axios({
        method: 'post',
        url: '/register',
        data: context.state.user
      })
    }
  }
})

export default store

在组件中发送请求的时候,需要使用 this.$store.dispatch

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

不过个人还是喜欢第二种方法,很方便~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在回学校的在火车上,MP3里的歌刚好放到好妹妹乐队的《像你这样的朋友》,当时脑海里莫名的就闪过了L小姐的样子。总觉...
    麋鹿小姐L阅读 933评论 2 4
  • 下午做完实验后,准备收拾书包走人,因为想要去上健身房。同学知道后,用很不屑的口吻说“真不知道你这么热衷运动是为了什...
    穆葬阅读 271评论 2 1
  • 五欲,又名五妙欲、五妙色,即财、色、名、食、睡,; 系指染著色、声、香、味、触等五境所引起的五种情欲。 1.财欲∶...
    gyp郭云鹏阅读 668评论 0 0