关于axios不能使用Vue.use()浅析


Posted in Javascript onJanuary 12, 2018

前言

最近在学习axios,在使用过程遇到了一些问题,觉着有必要给大家分享下,关于axios的基本知识大家可以参考这篇文章:axios基本入门用法教程 ,下面话不多说了,来一起看看详细的介绍吧。

问题

相信很多人在用Vue使用别人的组件时,会用到 Vue.use() 。例如:Vue.use(VueRouter)Vue.use(MintUI) 。但是用 axios时,就不需要用 Vue.use(axios) ,就能直接使用。那这是为什么呐?

答案

因为 axios 没有 install。

什么意思呢?接下来我们自定义一个需要 Vue.use() 的组件,也就是有 install 的组件,看完之后就明白了。

定义组件

生成模版  vue init webpack-simple custom-global-component

custom-global-component 为新建的文件夹名称

然后一路回车

cd custom-global-component 进入该文件夹

npm install 安装本次需要的模块

npm run dev 运行项目

如果能正常打开,进行下一步

这是当前项目目录:

关于axios不能使用Vue.use()浅析
项目目录

1.创建如下图中的文件夹和文件

关于axios不能使用Vue.use()浅析

项目目录

2.在 Loading.vue 中定义一个组件

<template>
 <div class="loading-box">
 Loading...
 </div>
</template>

3.在 jndex.js 中 引入 Loading.vue ,并导出

// 引入组件
import LoadingComponent from './loading.vue'
// 定义 Loading 对象
const Loading={
 // install 是默认的方法。当外界在 use 这个组件的时候,就会调用本身的 install 方法,同时传一个 Vue 这个类的参数。
 install:function(Vue){
 Vue.component('Loading',LoadingComponent)
 }
}
// 导出
export default Loading

4.在 main.js 中引入 loading 文件下的 index

// 其中'./components/loading/index' 的 /index 可以不写,webpack会自动找到并加载 index 。如果是其他的名字就需要写上。
import Loading from './components/loading/index'
// 这时需要 use(Loading),如果不写 Vue.use()的话,浏览器会报错,大家可以试一下
Vue.use(Loading)

5.在App.vue里面写入定义好的组件标签 <Loading></Loading>

<template>
 <div id="app">
 <h1>vue-loading</h1>
 <Loading></Loading>
 </div>
</template>

6.看到这儿大家应该就明白了吧,用 axios时,之所以不需要用 Vue.use(axios) ,就能直接使用,是因为开发者在封装 axios 时,没有写 install 这一步。至于为啥没写,那就不得而知了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript 图片裁剪技巧解读
Nov 15 Javascript
js左右弹性滚动对联广告代码分享
Feb 19 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
JavaScript中的style.cssText使用教程
Nov 06 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
Mar 29 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
手淘flexible.js框架使用和源代码讲解小结
Oct 15 Javascript
使用Promise封装小程序wx.request的实现方法
Nov 13 Javascript
微信小程序开发摇一摇功能
Nov 22 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
Aug 22 Javascript
Vuex 进阶之模块化组织详解
Jan 12 #Javascript
动态Axios的配置步骤详解
Jan 12 #Javascript
JS兼容所有浏览器的DOMContentLoaded事件
Jan 12 #Javascript
使用JS获取SessionStorage的值
Jan 12 #Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 #Javascript
web前端vue filter 过滤器
Jan 12 #Javascript
你可能不知道的前端算法之文字避让(inMap)
Jan 12 #Javascript
You might like
PHP date函数参数详解
2006/11/27 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
PHP HTML代码串 截取实现代码
2009/06/29 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python 正则式使用心得
2009/05/07 Python
python实现探测socket和web服务示例
2014/03/28 Python
Python实现的Excel文件读写类
2015/07/30 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
keras导入weights方式
2020/06/12 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
社区工作者先进事迹
2014/01/18 职场文书
农村葬礼主持词
2014/03/31 职场文书
股权收购意向书
2014/04/01 职场文书
委托协议书范本
2014/04/22 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
2015年药房工作总结
2015/04/25 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
入学证明
2015/06/23 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
2019年思想汇报
2019/06/20 职场文书