浅谈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 二维数组
Nov 26 Javascript
JS制作手机端自适应缩放显示
Jun 11 Javascript
jquery判断输入密码两次是否相等
Apr 22 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
Feb 17 Javascript
如何判断Javascript对象是否存在的简单实例
May 18 Javascript
微信小程序实现打开内置地图功能【附源码下载】
Dec 07 Javascript
深入理解Vue Computed计算属性原理
May 29 Javascript
JavaScript Canvas实现验证码
Aug 02 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
vue-cli3搭建项目的详细步骤
Dec 05 Javascript
基于js Canvas实现二次贝塞尔曲线
Dec 25 Javascript
vue点击按钮实现简单页面的切换
Sep 08 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
菜鸟修复电子管记
2021/03/02 无线电
支持中文的php加密解密类代码
2011/11/27 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
如何打开php的gd2库
2017/02/09 PHP
php-msf源码详解
2017/12/25 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
node使用request请求的方法
2019/12/20 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
python中单下划线_的常见用法总结
2018/07/10 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
Marmot土拨鼠官网:美国专业户外运动品牌
2018/01/11 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
莫斯科大型旅游休闲商品超市:Camping.ru
2020/09/16 全球购物
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
销售类个人求职信范文
2013/09/25 职场文书
大学生如何写自荐信
2014/01/08 职场文书
原材料检验岗位职责
2014/03/15 职场文书
离婚协议书样本
2015/01/26 职场文书
个人廉洁自律总结
2015/03/06 职场文书
年底个人总结范文
2015/03/10 职场文书