美文网首页
如何全局使用axios插件

如何全局使用axios插件

作者: coffee1949 | 来源:发表于2019-07-06 16:42 被阅读0次

前一直使用的是 vue-resource插件,在主入口文件引入import VueResource from 'vue-resource'之后,直接使用Vue.use(VueResource)之后即可将该插件全局引用了;

初用axios时,无脑的按照上面的步骤进行全局引用,结果当时是惨惨的。
看了看文档,Axios是一个基于promise的 HTTP 库

axios并没有install 方法,所以是不能使用vue.use()方法的。
那么难道每个文件都要来引用一次?解决方法有很多种:
1.结合vue-axios使用

  1. axios改写为 Vue的原型属性
    3.结合Vuexaction

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

首先在主入口文件main.js中引用

import axios from 'axios'
import VueAxios from '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);
      })
}

axios 改写为 Vue 的原型属性
首先在主入口文件main.js中引用,之后挂在vue的原型链上

import axios from 'axios'
Vue.prototype.$ajax= axios

在组件中使用

this.$ajax.get('api/getNewsList').then((response)=>{
        this.newsList=response.data.data;
      }).catch((response)=>{
        console.log(response);
      })

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

export default store

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

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

相关文章

  • 如何全局使用axios插件

    前一直使用的是 vue-resource插件,在主入口文件引入import VueResource from 'v...

  • axios的具体使用

    全局使用axios Axios的get post Axios全面配置的方式

  • axios全局使用

    vue中我们常用axios进行数据请求 axios模块在vue开发中如何使用引入,如何注册全局方法 一般情况下我们...

  • 在 Vue-cli 中使用 axios

    axios vue-axios 两个插件搭配使用就不用多次引入了 使用方法

  • vue-cli 引入axios及跨域使用

    使用 cnpm 安装 axios cnpm install axios --save-dev 安装其他插件的时候,...

  • Vue 插件

    插件,通常用来为Vue 添加全局功能。引用官方文档Vue插件 使用插件 通过全局方法Vue.user()使用插件。...

  • 基于axios的vue插件,让http请求更简单

    ajax-plus 基于axios 的 Vue 插件 如何使用 npm 模块引入 首先通过 npm 安装 然后在入...

  • axios 配置

    axios 全局配置 3 种方法: 结合vue-axios使用 axios改写为Vue的原型属性 结合Vuex的a...

  • vue-cli构建项目常用知识点

    安装 引入组件 按需加载(懒加载) ====全局路由钩子函数=== 插件写法(格式) axios 封装 vuex ...

  • vue使用axios进行ajax请求

    以前都用resource进行ajax请求,现在官方推荐使用axios,所以现在更换插件。这篇文章主要描写如何在项目...

网友评论

      本文标题:如何全局使用axios插件

      本文链接:https://www.haomeiwen.com/subject/bwzphctx.html