本篇文章给大家分享的是有关如何在vue中全局使用axios,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1.结合 vue-axios使用
看了vue-axios的源码,它是按照vue插件的方式去写的。那么结合vue-axios,就可以去使用vue.use方法了
首先在主入口文件main.js中引用:
importaxiosfrom'axios'
importVueAxiosfrom'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的原型链上:
importaxiosfrom'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添加方法
importVuefrom'Vue'
importVuexfrom'vuex'
importaxiosfrom'axios'
Vue.use(Vuex)
conststore=newVuex.Store({
//定义状态
state:{
user:{
name:'xiaoming'
}
},
actions:{
//封装一个ajax方法
login(context){
axios({
method:'post',
url:'/user',
data:context.state.user
})
}
}
})
exportdefaultstore
在组件中发送请求的时候,需要使用 this.$store.dispatch
methods:{
submitForm(){
this.$store.dispatch('login')
}
}
以上就是如何在vue中全局使用axios,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。