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 相关文章推荐
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
基于JQuery的密码强度验证代码
Mar 01 Javascript
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
Mar 15 Javascript
jquery中实现简单的tabs插件功能的代码
Mar 02 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
Dec 30 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
Jul 09 Javascript
微信小程序 火车票查询实例讲解
Oct 17 Javascript
基于javascript的拖拽类封装详解
Apr 19 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
Apr 26 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
详解React中共享组件逻辑的三种方式
Feb 02 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提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
php实现httpclient类示例
2014/04/08 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
Javascript中的变量使用说明
2010/05/18 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
详解Vue之事件处理
2020/07/10 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
python中的内置函数getattr()介绍及示例
2014/07/20 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python脚本开机自启的实现方法
2019/06/28 Python
使用python计算三角形的斜边例子
2020/04/15 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
营销总监岗位职责范本
2014/02/26 职场文书
治安消防安全责任书
2014/07/23 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript