关于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 相关文章推荐
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
JavaScript Sort 的一个错误用法示例
Mar 20 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
Apr 03 Javascript
深入解析JavaScript编程中的this关键字使用
Nov 09 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
Sep 18 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
Feb 17 Javascript
浅谈Node.js 沙箱环境
May 15 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
Sep 04 Javascript
微信小程序自定义模态弹窗组件详解
Dec 24 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 Javascript
js+h5 canvas实现图片验证码
Oct 11 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版)
2012/08/21 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
php register_shutdown_function函数详解
2017/07/23 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
iView框架问题整理小结
2018/10/16 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
python检测远程服务器tcp端口的方法
2015/03/14 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
春节联欢晚会主持词
2014/03/24 职场文书
年终总结会主持词
2014/03/25 职场文书
关于建议书的格式范文
2014/05/20 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
谢师宴答谢词
2015/01/05 职场文书
详细分析PHP7与PHP5区别
2021/06/26 PHP