使用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 无法通过W3C验证的处理方法
Mar 09 Javascript
用Jquery实现多级下拉框无刷新的联动
Dec 22 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
Jun 16 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
Jan 12 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
Aug 09 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
JavaScript中常见的八个陷阱总结
Jun 28 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
node.js 用socket实现聊天的示例代码
Oct 17 Javascript
基于JavaScript实现抽奖系统
Jan 16 Javascript
原生js实现Flappy Bird小游戏
Dec 24 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
Jul 20 Javascript
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缓存技术的使用说明
2011/08/06 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
js的event详解。
2006/09/06 Javascript
用YUI做了个标签浏览效果
2007/02/20 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
python创建学生成绩管理系统
2019/11/22 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
项目施工员岗位职责
2014/03/09 职场文书
会计与审计专业自荐信范文
2014/03/15 职场文书
培训讲师岗位职责
2014/04/13 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
React Fragment介绍与使用详解
2021/11/11 Javascript