关于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数组使用调用方法汇总
Dec 08 Javascript
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
JavaScript SetInterval与setTimeout使用方法详解
Nov 15 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 Javascript
JS逆序遍历实现代码
Dec 02 Javascript
JavaScript内存管理介绍
Mar 13 Javascript
浅谈JavaScript中promise的使用
Jan 11 Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 Javascript
JavaScript禁止微信浏览器下拉回弹效果
May 16 Javascript
javascript计算对象长度的方法
Oct 25 Javascript
Node.js 使用jade模板引擎的示例
May 11 Javascript
vue的路由映射问题及解决方案
Oct 14 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下使用iconv需要注意的问题
2010/11/20 PHP
PHP通用检测函数集合
2011/02/08 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
ExtJs的Date格式字符代码
2010/12/30 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
python获取本机外网ip的方法
2015/04/15 Python
python连接mysql实例分享
2016/10/09 Python
Python常见数字运算操作实例小结
2019/03/22 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
个人党性剖析材料
2014/02/03 职场文书
给孩子的新年寄语
2014/04/08 职场文书
自愿离婚协议书范本
2014/09/13 职场文书