axios的使用方式

大多数人在刚使用vue时,在引入axios时都会走如下的坑

import Vue from 'vue'
import axios from 'axios'

Vue.use(Vuex)
Vue.use(axios)

//Error:Cannot read property 'protocol' of undefined

使用Vue.use()来注册axios这种方法是不对的,引入axios不是个插件。

我们在安装其他插件的时候,可以直接在main.js中引入并使用Vue.use()来注册,但是axios并不是插件,所以不能用这种方式引入,只能在每个需要发送请求的组件中引入。但是这样太繁琐了,为了解决这个问题,我们可以在引入axios后,通过修改原型链,来方便使用。如下方式

//main.js引入
import Vue from 'vue'
import axios from 'axios'
Vue.prototype.$http = axios

//组件中使用:
this.$http.post()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,273评论 19 139
  • 闷热异常的天气预报不时的弹出各种预警,上海很凉快,不证明给你看就要把自己脱光了一样。离家出走的布带在天边化作一条条...
    江南镖局阅读 619评论 0 0
  • 瑜伽: 需改进~根基不稳,腿部胯部太紧张,肩容易耸,颈部易紧张,腿部肌肉内旋外旋觉知不太强,体式时动作容易不正(腿...
    Julie30阅读 160评论 0 0
  • 很意外的接到他的电话,虽然很久很久没有再联系过,说很久很久,是因为真的久的我也记不清具体是多少年了,确切地说我不想...
    张小冬阅读 384评论 0 0
  • 心里账户 引导消费者由可选心理账户转移到必备心理账户中,可以使客户乐于付 沉没成本 有目的的制造消费者的沉没成本可...
    Hesson阅读 248评论 0 1