关于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面向对象编程
Mar 04 Javascript
广泛收集的jQuery拖放插件集合
Apr 09 Javascript
jquery中post方法用法实例
Oct 21 Javascript
jQuery中:reset选择器用法实例
Jan 04 Javascript
Jquery遍历Json数据的方法
Apr 20 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
Oct 27 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
Mar 08 Javascript
在vue-cli项目中使用bootstrap的方法示例
Apr 21 Javascript
解决node修改后需频繁手动重启的问题
May 13 Javascript
解决vue中post方式提交数据后台无法接收的问题
Aug 11 Javascript
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
Vue3.0 手写放大镜效果
Jul 25 Vue.js
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 curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
python使用thrift教程的方法示例
2019/03/21 Python
python实现邮件发送功能
2019/08/10 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
中学生期末评语
2014/02/03 职场文书
上课玩手机检讨书
2014/02/08 职场文书
计算机专业职业规划
2014/02/28 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
linux下安装redis图文详细步骤
2021/12/04 Redis
css3应用示例:新增的选择器
2022/03/16 HTML / CSS