使用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 相关文章推荐
在JavaScript中通过URL传递汉字的方法
Apr 09 Javascript
seajs1.3.0源码解析之module依赖有序加载
Nov 07 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
Dec 29 Javascript
一个判断抢购时间是否到达的简单的js函数
Jun 23 Javascript
JavaScript中判断原生函数检查function是否是原生代码
Sep 09 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
Nov 09 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
Vue.js的复用组件开发流程完整记录
Nov 29 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
May 17 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
天津市收音机工业发展史
2021/03/04 无线电
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
python中的__slots__使用示例
2015/02/26 Python
python使用urlparse分析网址中域名的方法
2015/04/15 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python回调函数用法实例详解
2015/07/02 Python
详解Python之unittest单元测试代码
2018/01/24 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python如何爬取动态网站
2020/09/09 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
C#面试常见问题
2013/02/25 面试题
生产副总岗位职责
2013/11/28 职场文书
医药销售求职信范文
2014/02/01 职场文书
分家协议书
2014/04/21 职场文书
植树节活动总结
2014/04/30 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
一文搞懂python异常处理、模块与包
2021/06/26 Python
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL