vue项目全局使用axios
程序员文章站
2023-02-15 18:02:43
共有三种方法: 1.结合 vue-axios使用 首先在主入口文件main.js中引用 之后就可以在组件文件中的methods里去使用了 2. axios 改写为 Vue 的原型属性 首先在主入口文件main.js中引用,之后挂在vue的原型链上 在组件中使用 3.结合 Vuex的action 在v ......
共有三种方法:
1.结合 vue-axios使用
首先在主入口文件main.js中引用
import axios from 'axios' import vueaxios from 'vue-axios' vue.use(vueaxios,axios);
之后就可以在组件文件中的methods里去使用了
this.axios.get('/api/usrmng') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
2. axios 改写为 vue 的原型属性
首先在主入口文件main.js中引用,之后挂在vue的原型链上
import axios from 'axios' vue.prototype.$http = axios
在组件中使用
this.$http.get('/api/usrmng') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
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: 'root' } }, 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') } }
前端交流群,群文件提供大量文档、书籍和资料。期待你的加入!群号:127768464