如何在vue中全局使用axios

本篇文章给大家分享的是有关如何在vue中全局使用axios,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1.结合 vue-axios使用

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

如何在vue中全局使用axios

首先在主入口文件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,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。

发布于 2021-03-26 01:50:34
收藏
分享
海报
0 条评论
161
上一篇:如何在django中使用mysql 下一篇:怎么在python项目中使用RabbitMQ
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码