浅谈Vue组件及组件的注册方法


Posted in Javascript onAugust 24, 2018

相信在使用Vue进行项目开发的时候很多人会接触到vue组件,最常见的就是我们使用的element-ui组件库,用起来确实很方便,大大减少了我们的开发时间。在一个项目中其实有很多可复用的代码块,如果我们可以把这些内容封装成一个组件就能够很方便的进行各种重复使用。

那么什么是Vue组件呢?它是vue.js最强大的功能之一,是可扩展的html元素,是封装可重用的代码,同时也是Vue实例,可以接受相同的选项对象(除了一些根级特有的选项) 并提供相同的生命周期钩子。

使用组件

组件名大小写

定义组件名的方式有两种:

使用 kebab-case

Vue.component('my-component-name', { /* ... */ })

当使用 kebab-case (短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例如 <my-component-name>。

使用 PascalCase

Vue.component('MyComponentName', { /* ... */ })

当使用 PascalCase (驼峰式命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说 <my-component-name> 和 <MyComponentName> 都是可接受的。注意,尽管如此,直接在 DOM (即非字符串的模板) 中使用时只有 kebab-case 是有效的。

组件的注册分为全局注册和局部注册

全局注册

我们已经知道创建一个Vue实的方法

new Vue({
 el: '#app',
 //选项
})

注册全局组件可以使用Vue.component(tagName,options)。例如

Vue.component('my-apprvuser',{
 template:'',
 data:function(){
 return{}
 }
 //选项
})

上面是一个最简单的全局注册例子,但是实际上我们并不会这么用。以vue-cli为脚手架工具来说。我们会单独创建一个vue文件来封装一个组件。这里我们创建一个  apprvUser.vue 文件

浅谈Vue组件及组件的注册方法

该文件结构和正常的vue文件一样,里面是我们要封装的组件

然后在我们的main.js文件(也是入口文件)中注册全局组件

//注册审核人(申请)组件
import apprvUser from './views/audit/apprvUser'
Vue.component('my-apprvuser',apprvUser)

这里需要注意引用vue文件的路径不能错,这样在全局注册之后你在其他组件中就能直接使用组件<my-apprvuser></my-apprvuser>,全局注册组件就是这样了。

局部注册

局部注册就是在你想要使用的vue文件中进行注册引入。vue官网api中有一个简单的例子,大家可以看一下,但是实际过程中我们基本上都不会那样用。

还是用上述的  apprvUser.vue 文件来举例。

我是在该文件同级目录下的另一个vue文件中注册该组件的,在export default的一个选项components中进行该组件的注册。

这就是局部组件的注册,在当前文件中就可以使用该组件了,但是在其他组件中不能直接使用该组件。要在其他组件/vue文件中使用该组件必须进行全局或者局部注册。

//注册审核人(申请)组件
import apprvUser from './apprvUser'

export default {
 components: {
 'my-apprvuser':apprvUser
 },
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何解决Jquery库及其他库之间的$命名冲突
Sep 15 Javascript
Javascript Web Slider 焦点图示例源码
Oct 10 Javascript
javascript打印输出json实例
Nov 11 Javascript
js实现简单选项卡与自动切换效果的方法
Apr 10 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
Sep 01 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
Dec 07 Javascript
layer实现弹窗提交信息
Dec 12 Javascript
详解cordova打包成webapp的方法
Oct 18 Javascript
JavaScript门面模式详解
Oct 19 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
关于微信公众号开发无法支付的问题解决
Dec 28 Javascript
JavaScript 声明私有变量的两种方式
Feb 05 Javascript
JavaScript中this关键字用法实例分析
Aug 24 #Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
Aug 24 #Javascript
JavaScript原型链与继承操作实例总结
Aug 24 #Javascript
element-ui循环显示radio控件信息的方法
Aug 24 #Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
Aug 24 #Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 #Javascript
AngularJS自定义表单验证功能实例详解
Aug 24 #Javascript
You might like
redis 队列操作的例子(php)
2012/04/12 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
js选项卡的实现方法
2015/02/09 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
python网络编程实例简析
2014/09/26 Python
python的多重继承的理解
2017/08/06 Python
python实现交并比IOU教程
2020/04/16 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
基层干部十八大感言
2014/01/19 职场文书
小学生红领巾广播稿
2014/01/21 职场文书
大学校园活动策划书
2014/02/04 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
学习雷锋活动总结
2014/04/29 职场文书
演讲比赛策划方案
2014/06/11 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS