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 相关文章推荐
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
Jan 23 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
Aug 09 Javascript
js模仿php中strtotime()与date()函数实现方法
Aug 11 Javascript
Javascript农历与公历相互转换的简单实例
Oct 09 Javascript
js图片放大镜效果实现方法详解
Oct 28 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
Jul 22 jQuery
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
Aug 09 Javascript
AngularJS的$location使用方法详解
Oct 19 Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 Javascript
Angular单元测试之事件触发的实现
Jan 20 Javascript
Vue实现点击导航栏当前标签后变色功能
Aug 19 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类的反射用法实例
2014/11/03 PHP
PHP解析RSS的方法
2015/03/05 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
url地址自动加#号问题说明
2010/08/21 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python实现图片九宫格分割
2021/03/07 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
法学毕业生自我鉴定
2014/01/31 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
golang slice元素去重操作
2021/04/30 Golang