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 相关文章推荐
asp 取文本框名称代码
Dec 02 Javascript
动态为事件添加js代码示例
Feb 15 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
Apr 07 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
Oct 11 Javascript
javascript 函数及作用域总结介绍
Nov 12 Javascript
基于javascript实现图片左右切换效果
Jan 25 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
Jul 20 Javascript
WdatePicker.js时间日期插件的使用方法
Jul 26 Javascript
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
babel的使用及安装配置教程
Feb 22 Javascript
Vue入门之数量加减运算操作示例
Dec 11 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
Jul 18 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
19个Android常用工具类汇总
2014/12/30 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&平移轮播效果
2019/08/16 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
为什么相对PHP黑python的更少
2020/06/21 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
工作时间上网检讨书
2014/02/03 职场文书
教师党员整改措施
2014/10/24 职场文书
2015年导购员工作总结
2015/04/25 职场文书
2015年幼师工作总结
2015/04/28 职场文书
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android