Vue组件化时使用axios处理ajax请求的使用

推荐方式

首先在 main.js 中引入 axios

// 引入 axios
import axios from 'axios'

这时候如果你想在其它的组件中使用axios进行ajax请求是或提示报错的,报错内容大致是axios is undefined
我们通常的决绝方案是将axios改写为 Vue 的原型属性,如下

axios写入Vue的原型链作为Vue的属性

// 设置axios请求的默认host
axios.defaults.baseURL = "https://www.ifilm.ltd/api/"
// 将axios绑定给vue成为一个属性
Vue.prototype.$http = axios

在其他组件中使用axios

this.$http.get('路由').then(response => {
        // todo something
      })

此方式可以类比到Vue的其他库使用

两种不推荐的使用示范

axios全局化,作为全局变量

// 引入axios
import axios from 'axios'
// 将axios全局化
window.axios = axios;

另外一个不太优雅的方式就是在需要的每个组件中都引入对应的库

    原文作者:安小下同学
    原文地址: https://segmentfault.com/a/1190000010843251
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞