本篇文章给大家带来的内容是关于vue项目全局使用axios的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

共有三种方法:

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')
  }
}
登录后复制

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注Work网的JavaScript教程视频栏目!

以上就是vue项目全局使用axios的方法介绍的详细内容,更多请关注Work网其它相关文章!

09-08 16:13