浅谈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 相关文章推荐
传智播客学习之java 反射
Nov 22 Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 Javascript
Javascript实现div层渐隐效果的方法
May 30 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
Aug 28 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
Bootstrap select多选下拉框实现代码
Dec 23 Javascript
Angular2监听页面大小变化的解决方法
Oct 09 Javascript
Vue中props的使用详解
Jun 15 Javascript
JavaScript面向对象继承原理与实现方法分析
Aug 09 Javascript
微信小程序页面间传值与页面取值操作实例分析
Apr 30 Javascript
vue生命周期钩子函数以及触发时机
Apr 26 Vue.js
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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
curl和libcurl的区别简介
2015/07/01 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
angular2使用简单介绍
2016/03/01 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
python文件选择对话框的操作方法
2019/06/27 Python
Python 硬币兑换问题
2019/07/29 Python
Python绘图实现显示中文
2019/12/04 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
工商治理实习生的自我评价分享
2014/02/20 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
婚前协议书
2014/04/15 职场文书
会计主管竞聘书
2015/09/15 职场文书
公司借款担保书
2015/09/22 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
pandas取dataframe特定行列的实现方法
2021/05/24 Python
python for循环赋值问题
2021/06/03 Python
Python 快速验证代理IP是否有效的方法实现
2021/07/15 Python