浅谈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 相关文章推荐
Z-Blog中用到的js代码
Mar 15 Javascript
基于javascript实现样式清新图片轮播特效
Mar 30 Javascript
js实现多图左右切换功能
Aug 04 Javascript
Javascript 实现放大镜效果实例详解
Dec 03 Javascript
Vue Ajax跨域请求实例详解
Jun 20 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 jQuery
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
Jun 01 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
Feb 21 Javascript
JS实现可控制的进度条
Mar 25 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
Apr 11 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
php SQL之where语句生成器
2009/03/24 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
javascript parseInt 大改造
2009/09/27 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
理解AngularJs指令
2015/12/10 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
Python实现的彩票机选器实例
2015/06/17 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
医学院学生求职简历的自我评价
2013/10/24 职场文书
给导游的表扬信
2014/01/10 职场文书
大专会计自我鉴定
2014/02/06 职场文书
网络信息安全承诺书
2014/03/26 职场文书
结对共建协议书
2014/08/20 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
告知书格式
2015/07/01 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android