关于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 相关文章推荐
在多个页面使用同一个HTML片段《续》
Mar 04 Javascript
Jquery进度条插件 Progress Bar小问题解决
Jul 12 Javascript
JS模拟自动点击的简单实例
Aug 08 Javascript
JavaScript日期时间格式化函数分享
May 05 Javascript
javascript实现复选框超过限制即弹出警告框的方法
Feb 25 Javascript
JavaScript实现网站访问次数统计代码
Aug 12 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
Oct 26 Javascript
使用JS实现图片展示瀑布流效果的实例代码
Sep 12 Javascript
使用node.js中的Buffer类处理二进制数据的方法
Nov 26 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
js tab栏切换代码实例解析
Sep 03 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序列化操作方法分析
2016/09/28 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
动态控制Table的js代码
2007/03/07 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
python3实现点餐系统
2019/01/24 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
django实现支付宝支付实例讲解
2019/10/17 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python类及获取对象属性方法解析
2020/06/15 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Pycharm Git 设置方法
2020/09/15 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
销售演讲稿范文
2014/01/08 职场文书
50岁生日感言
2014/01/23 职场文书
安全检查管理制度
2014/02/02 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2014年班级工作总结
2014/11/14 职场文书
婚姻出轨保证书
2015/05/08 职场文书
小学班主任心得体会
2016/01/07 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js