Vue中建立全局引用或者全局命令的方法


Posted in Javascript onAugust 21, 2017

如何在Vue中建立全局引用或者全局命令,具体内容如下

1 一般在vue中,有很多vue组件,这些组件每个都是一个文件。都可能需要引用到相同模块(或者插件)。我们不想每个文件都import 一次模块。

如果是基于vue.js编写的插件我们可以用 Vue.use(...)

main.js

Vue中建立全局引用或者全局命令的方法

2 但是如果想添加一个全局命令,同时又让每个vue的文件都能用到怎么办?

第一步:最好建立一个全局的命令文件例如:directive/directive.js

第二步:利用Vue.directive()建立一个全局命令,并将它暴露出来,例如一个focus 让表单自动聚焦

directive.js

Vue中建立全局引用或者全局命令的方法

第三部步:在main.js(入口JS文件)中将它引入,可以省略文件后缀

main.js

Vue中建立全局引用或者全局命令的方法

这样任何一个Vue文件只要这样v-focus(命令名),就可以很方便的用到了

Vue中建立全局引用或者全局命令的方法

3 Vue.directive() 的命令一般都是自动运行的或者说初始化等等触发的,并不能用于异步事件,怎么办?

于是我们可以用到'mixins'混合命令,你最好建立一个专门的文件夹用于存放混合命令,例如:

mixins.js

Vue中建立全局引用或者全局命令的方法

比如saveScrollPosition (不是vue中的saveScrollPosition)可以每次在路由跳转之间保存住浏览位置信息

注意:vue2.0 中 路由跳转之间会自动保存位置信息 但是有Bug(位置信息之间会相互干扰)。

所以我们从新写一个saveScrollPosition暴露出去后,在你需要的页面中混入

Vue中建立全局引用或者全局命令的方法

Vue中建立全局引用或者全局命令的方法

这样就会很方便。

4 如果你需要应用一个插件,同时他并不是基于vue.js的插件命令编写的,那你可以将它赋予Vue的原型上

例如:我想全局引用axios,我们可以这样

main.js

Vue中建立全局引用或者全局命令的方法

然后this.$http.get(url) 等等

xxx.vue

Vue中建立全局引用或者全局命令的方法

5 将需要的变量挂在到window对象上

例如:第三方库Lodash.js,moment.js等等

main.js

Vue中建立全局引用或者全局命令的方法

xxx.vue

Vue中建立全局引用或者全局命令的方法

注意:这种方式不适合服务端渲染,服务端并没有window对象

强调一点:以上所有的引入都必须通过入口JS文件去引入,这样才能适用于全局

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
图片自动更新(说明)
Oct 02 Javascript
又一个小巧的图片预加载类
May 05 Javascript
JS 树形递归实例代码
May 18 Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
javascript中打印当前的时间实现思路及代码
Dec 18 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
Javascript实现的Map集合工具类完整实例
Jul 31 Javascript
详解JavaScript编程中正则表达式的使用
Oct 25 Javascript
vue调用高德地图实例代码
Apr 28 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
Jun 10 Javascript
微信小程序实现带放大效果的轮播图
May 26 Javascript
JS实现身份证输入框的输入效果
Aug 21 #Javascript
Vue自定义指令使用方法详解
Aug 21 #Javascript
javascript实现Java中的Map对象功能的实例详解
Aug 21 #Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 #Javascript
JavaScript中各数制转换全面总结
Aug 21 #Javascript
JQuery判断正整数整理小结
Aug 21 #jQuery
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
Aug 21 #Javascript
You might like
php页面缓存ob系列函数介绍
2012/10/18 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
layui分页效果实现代码
2017/05/19 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
浅析使用Python操作文件
2017/07/31 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
Python socket 套接字实现通信详解
2019/08/27 Python
python装饰器原理与用法深入详解
2019/12/19 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
PyTorch安装与基本使用详解
2020/08/31 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
介绍一下OSI七层模型
2012/07/03 面试题
应聘收银员个人的求职信
2013/11/30 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python
python基础之错误和异常处理
2021/10/24 Python