使用use注册Vue全局组件和全局指令的方法


Posted in Javascript onMarch 08, 2018

Vue中的组件和指令分为局部组件、局部指令和全局组件、全局指令。对于注册有一定数量的全局指令和全局组件时,官方文档中的方法就显得有些不够清爽了。

全局组件

在Vue官方文档中介绍的是使用Vue.component(tagName, options)来创建一个全局组件。但是这种方法是与根实例写在同一个文件中,如果要同时注册多个全局组件,就会使根实例文件过重,因此使用Vue.use()来“安装”全局组件,就显得更轻一些。

方法:

1.新建一个plugins文件夹

2.在文件夹中创建放置全局组件的文件components.js

3.在components.js文件中引入所有要注册的全局组件

4.在app.js根实例文件中,引入components.js

以eg组件为例:

components.js:

import eg from '../components/eg.vue';
export default (Vue)=>{
 Vue.component("Eg",eg);
}

app.js:

import components from './plugins/components.js';
Vue.use(components);

经过上述编写后,就注册了全局组件Eg。

在需要注册多个全局组件的情况下,使用这种方式就显得更加清爽!

全局指令

对于全局指令的注册,官方文档给出的方法是使用Vue.directive(),位置同样是在根实例文件下,那么问题来了,如果多个全局指令,再加上多个全局组件,那么app.js文件将变得臃肿无比。

因此,同上面的注册全局组件方法相似,也是使用Vue.use()来“安装”全局指令。

方法:

1.新建一个plugins文件夹

2.在文件夹中创建放置全局组件的文件directives.js

3.在directives.js文件中引入所有要注册的全局指令

4.在app.js根实例文件中,引入directives.js

以v-focus指令为例:

directives.js:

export default (Vue)=>{
 Vue.directive("focus",{
  inserted:function(el){
   el.focus();
  }
 })
}

app.js

import directives from "./plugins/directives.js"
Vue.use(directives);

这样就注册了全局指令。

以上这篇使用use注册Vue全局组件和全局指令的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 格式化时间日期函数小结
Mar 20 Javascript
javascript学习笔记之10个原生技巧
May 21 Javascript
JavaScript中用字面量创建对象介绍
Dec 31 Javascript
jQuery中的pushStack实现原理和应用实例
Feb 03 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
JavaScript实现简单评论功能
Aug 17 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
ElementUI多个子组件表单的校验管理实现
Nov 07 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
Feb 14 Javascript
JavaScript使用canvas绘制随机验证码
Feb 17 Javascript
vue和小程序项目中使用iconfont的方法
May 19 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
vue注册组件的几种方式总结
Mar 08 #Javascript
Vue.js自定义事件的表单输入组件方法
Mar 08 #Javascript
layui之select的option叠加问题的解决方法
Mar 08 #Javascript
vue2.0 axios跨域并渲染的问题解决方法
Mar 08 #Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
Mar 08 #Javascript
Vue.js实现图片的随意拖动方法
Mar 08 #Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 #Javascript
You might like
php的控制语句
2006/10/09 PHP
php中函数的形参与实参的问题说明
2010/09/01 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
用JS在浏览器中创建下载文件
2014/03/05 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
React实践之Tree组件的使用方法
2017/09/30 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
对Django url的几种使用方式详解
2019/08/06 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
Pycharm安装并配置jupyter notebook的实现
2020/05/18 Python
Python绘制动态水球图过程详解
2020/06/03 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
小区物业门卫岗位职责
2014/04/10 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python