浅谈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 相关文章推荐
如何用javascript去掉字符串里的所有空格
Feb 08 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
Dec 02 Javascript
JavaScript对象学习经验整理
Oct 12 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 Javascript
FireBug 调试JS入门教程 如何调试JS
Dec 23 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 Javascript
Bootstrap 布局组件(全)
Jul 18 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
jQuery展示表格点击变色、全选、删除
Jan 05 Javascript
input输入密码变黑点密文的实现方法
Jan 09 Javascript
js链表操作(实例讲解)
Aug 29 Javascript
详解操作虚拟dom模拟react视图渲染
Jul 25 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
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
Js apply方法详解
2017/02/16 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
Python中shutil模块的学习笔记教程
2017/04/04 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
python自定义函数def的应用详解
2020/06/03 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
蔻驰法国官网:COACH法国
2018/11/14 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
自荐信格式范文
2013/10/07 职场文书
小学毕业感言50字
2014/02/16 职场文书
岗位明星事迹材料
2014/05/18 职场文书
标准毕业生自荐信
2014/06/24 职场文书
2014年业务工作总结
2014/11/17 职场文书
仓库管理制度范本
2015/08/04 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
MySQL多表查询机制
2022/03/17 MySQL
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL