axios如何全局注册

作者: 刘员外__ | 来源:发表于2018-01-05 18:36 被阅读757次

上一篇axios不能使用Vue.use()

最近用 Vue 写项目的时候,用到 axios ,因为 axios 不能用 Vue.use() ,所以在每个 .vue 文件中使用 axios 时就需要 import.vue 文件少的话还好说,多的话未免有点麻烦。

后来想了想,能不能直接把 axios 加到 Vue 的原型中,这样就达到了全局注册了。

1. 首先在 main.js 中引入 axios
import Vue from 'vue'
import axios from 'axios'
//把 `axios` 加到 `Vue` 的原型中
Vue.prototype.axios = axios;
new Vue({
    el: '#app',
    render:h => h(App)
})

2. 在 .vue 文件中使用时,注意 axios 前要加 this
<script>
export default {
    name:'app',
    data(){
        return{
            msg:'hello'
        }
    },
    methods:{
        send(){
            // 注意:因为 axios 是加到 Vue 的原型中了,所以使用 axios 方法时,前面需要加 this
            this.axios.get('https://www.baidu.com*******')
            .then(resp => {
                console.log(resp.data)
            }).catch(err => {
                console.log(err);
            })
        }
    }
}
</script>

嗯,就这样,结果当然是没有问题的啦!

下一篇:自定义组件添加原生事件

相关文章

网友评论

  • alexxiyang:可是全局注册并不好啊,仿佛回到了原始社会。就是要一个一个的注册看起来才模块化,代码可读性高。
  • a86178403f3f:申请转载
    刘员外__:@最咸的咸鱼o 我没有学弟
    a86178403f3f:@刘员外__ 你学弟
    刘员外__:@最咸的咸鱼o 你是?

本文标题:axios如何全局注册

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