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 相关文章推荐
用js实现上传图片前的预览(TX的面试题)
Aug 14 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
javascript实现在线客服效果
Jul 15 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
Dec 22 Javascript
js实现鼠标拖拽多选功能示例
Aug 01 Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 Javascript
JavaScript数组去重的几种方法
Apr 07 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
vue.js实现左边导航切换右边内容
Oct 21 Javascript
vue项目中监听手机物理返回键的实现
Jan 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
PHP 和 HTML
2006/10/09 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
从零学Python之hello world
2014/05/21 Python
python3 shelve模块的详解
2017/07/08 Python
Python面向对象类的继承实例详解
2018/06/27 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
python实现弹窗祝福效果
2019/04/07 Python
咖啡厅创业计划书范本
2014/01/22 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
《开国大典》教学反思
2014/04/19 职场文书
校园绿化美化方案
2014/06/08 职场文书
2015年宣传部工作总结范文
2015/03/31 职场文书
公司市场部岗位职责
2015/04/15 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js