关于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 相关文章推荐
不一样的文字闪烁 轮番闪烁
Nov 11 Javascript
js 手机号码合法性验证代码集合
Sep 29 Javascript
js调试系列 源码定位与调试[基础篇]
Jun 18 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
JavaScript中的对象的extensible属性介绍
Dec 30 Javascript
javascript实现的右下角弹窗实例
Apr 24 Javascript
js操作数组函数实例小结
Dec 10 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
Jun 23 Javascript
js 调用百度分享功能
Feb 27 Javascript
jquery实现企业定位式导航效果
Jan 01 jQuery
node.js中TCP Socket多进程间的消息推送示例详解
Jul 10 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
Apr 24 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数据库连接类~~做成一个分页类!
2006/11/25 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP 截取字符串专题集合
2010/08/19 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
Python之PyUnit单元测试实例
2014/10/11 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
python中os包的用法
2020/06/01 Python
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
一套英文Java笔试题面试题
2016/04/21 面试题
导游个人求职信
2014/04/25 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers