vue项目中axios的全局使用方法

本文介绍了在Vue项目中如何通过Vue.use()方法全局使用axios。按照vue文档中的插件开发指导,在src/plugins/http.js中编写http请求方法,并在app.js中进行导入。之后,可以在任何组件中便捷地使用这些http请求方法,这里还提及了使用ES6的async语法,参考了阮一峰老师的教程。
摘要由CSDN通过智能技术生成

vue项目中axios的全局使用方法

vue中想要将插件全局使用得使用Vue.use()方法

我是跟着上面这句话这个思路去往下想的

vue文档中开发插件的文档

//如果想写一个Vue插件,该插件需要有个公开方法install,这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象:
var MyPlugin = {}//对象才能点方法
MyPlugin.install = function(Vue,options){
	  // 1. 添加全局方法或属性
  Vue.myGlobalMethod = function () {
    // 逻辑...
  }

  // 2. 添加全局资源
  Vue.directive('my-directive', {
    bind (el, binding, vnode, oldVnode) {
      // 逻辑...
    }
    ...
  })

  // 3. 注入组件选项
  Vue.mixin({
    created: function () {
      // 逻辑...
    }
    ...
  })

  // 4. 添加实例方法  
  Vue.prototype.$myMethod = function (methodOptions) {
    // 逻辑...
  }
}

那么我们该怎么写呢???

  1. 在src/plugins/http.js中写方法
import axios from 'axios'
//如果想写一个Vue插件,该插件需要有个公开方法install,这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象:
var MyPlugin = {}//对象才能点方法
const MyHttpServe = {}
MyHttp.Serve.install = (Vue) =>{
	axios.defaults.baseURL = ''
    axios.interceptors.request.use(config =>{
        return config
    },function(error){
        return Promise.reject(error)
    })
    //在response拦截器中,隐藏进度条  nprogress.done()
    axios.interceptors.response.use(config =>{
        return config
    })
	// 4. 添加实例方法给Vue函数添加一个原型属性$axios 指向Axios
    Vue.prototype.$http = axios
}
export default MyHttpServe
  1. 在app.js中全局导入
import MyHttpServe from '@/plugings/http.js'
Vue.use(MyHttpServe)
  1. 在任意的一个组件中使用http请求方法
 async getApi(){
	const res = await this.$http.get(`请求路径`)
}
  1. 这里使用了 ES6语法的async具体可以看:阮一峰老师的文章
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值