Vue中建立全局引用或者全局命令的方法
如何在Vue中建立全局引用或者全局命令,具体内容如下
1 一般在vue中,有很多vue组件,这些组件每个都是一个文件。都可能需要引用到相同模块(或者插件)。我们不想每个文件都import 一次模块。
如果是基于vue.js编写的插件我们可以用 Vue.use(...)
main.js
2 但是如果想添加一个全局命令,同时又让每个vue的文件都能用到怎么办?
第一步:最好建立一个全局的命令文件例如:directive/directive.js
第二步:利用Vue.directive()建立一个全局命令,并将它暴露出来,例如一个focus 让表单自动聚焦
directive.js
第三部步:在main.js(入口JS文件)中将它引入,可以省略文件后缀
main.js
这样任何一个Vue文件只要这样v-focus(命令名),就可以很方便的用到了
3 Vue.directive() 的命令一般都是自动运行的或者说初始化等等触发的,并不能用于异步事件,怎么办?
于是我们可以用到'mixins'混合命令,你最好建立一个专门的文件夹用于存放混合命令,例如:
mixins.js
比如saveScrollPosition (不是vue中的saveScrollPosition)可以每次在路由跳转之间保存住浏览位置信息
注意:vue2.0 中 路由跳转之间会自动保存位置信息 但是有Bug(位置信息之间会相互干扰)。
所以我们从新写一个saveScrollPosition暴露出去后,在你需要的页面中混入
这样就会很方便。
4 如果你需要应用一个插件,同时他并不是基于vue.js的插件命令编写的,那你可以将它赋予Vue的原型上
例如:我想全局引用axios,我们可以这样
main.js
然后this.$http.get(url) 等等
xxx.vue
5 将需要的变量挂在到window对象上
例如:第三方库Lodash.js,moment.js等等
main.js
xxx.vue
注意:这种方式不适合服务端渲染,服务端并没有window对象
强调一点:以上所有的引入都必须通过入口JS文件去引入,这样才能适用于全局
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 如何在Vue中建立全局引用或者全局命令
- 如何在Vue中建立全局引用或者全局命令
- 如何在Vue中建立全局组件或者全局命令
- vue 中引用gojs绘制E-R图的方法示例
- Linux命令-----grep不查找隐藏文件夹(或者跳过某些文件夹)的方法
- mac os x配置adb全局命令的方法
- axios模块在vue开发中如何使用引入,如何注册全局方法
- VS2010 下通过命令建立.dbml文件方法
- LINUX常用命令集合, 删除,建立文件 方法
- eclipse快速查找一个变量、方法或者类被引用的地方
- 用JavaMail通过IMAP协议接收qq邮箱时出现“A0 BAD 命令无效或者不支持”的解决方法
- vue中接口域名配置为全局变量的实现方法
- php方法中引用全局变量要加 global
- 访问被拒绝,必须是该远程计算机的管理员才能使用此命令。请将您的用户名添加到该远程计算机的管理员本地组或者域管理员全局组中
- vue全局组件与局部组件使用方法详解
- vue的全局引用
- ResGen.exe 可能无法运行,因为命令行的长度为XX个字符,超过了命令的最大长度。若要解决此问题,请 (1) 删除不需要的程序集引用,或者 (2) 缩短这些引用的路径。
- 浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
- LINUX-Centos7之后修改默认启动界面为命令界面或者图形界面的方法
- vue--自定义全局方法,在组件里面使用