使用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 相关文章推荐
jquery实现显示已选用户
Jul 21 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 Javascript
JavaScript获取DOM元素的11种方法总结
Apr 25 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
Mar 01 Javascript
深入理解jquery中extend的实现
Dec 22 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
vue语法之拼接字符串的示例代码
Oct 25 Javascript
vue组件jsx语法的具体使用
May 21 Javascript
angularjs 动态从后台获取下拉框的值方法
Aug 13 Javascript
微信上传视频文件提示(推荐)
Nov 22 Javascript
详解基于node.js的脚手架工具开发经历
Jan 28 Javascript
js实现经典贪吃蛇小游戏
Mar 19 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
php生成RSS订阅的方法
2015/02/13 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
asp批量修改记录的代码
2008/06/25 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
详解Python中的__new__()方法的使用
2015/04/09 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
基python实现多线程网页爬虫
2015/09/06 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
python迭代器常见用法实例分析
2019/11/22 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
我未来的职业规划范文
2014/01/11 职场文书
运动会通讯稿400字
2014/01/28 职场文书
精彩的广告词
2014/03/19 职场文书
药房管理制度范本
2015/08/06 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
Python爬虫实战之爬取携程评论
2021/06/02 Python
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
Java 多线程协作作业之信号同步
2022/05/11 Java/Android