浅谈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 相关文章推荐
JS实现的省份级联实例代码
Jun 24 Javascript
jquery JSON的解析方式示例介绍
Jul 27 Javascript
JavaScript原生对象之String对象的属性和方法详解
Mar 13 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
jQuery实现模拟flash头像裁切上传功能示例
Dec 11 Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 Javascript
详解如何实现一个简单的Node.js脚手架
Dec 04 Javascript
react-native-video实现视频全屏播放的方法
Mar 19 Javascript
如何解决webpack-dev-server代理常切换问题
Jan 09 Javascript
解决node终端下运行js文件不支持ES6语法
Apr 04 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 Javascript
JavaScript实现图片合成下载的示例
Nov 19 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数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php实例分享之二维数组排序
2014/05/15 PHP
yii操作session实例简介
2014/07/31 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
javascript dom 操作详解 js加强
2009/07/13 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
原生js实现放大镜
2017/02/20 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
微信小程序如何获取用户头像和昵称
2019/09/23 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
python查看模块安装位置的方法
2018/10/16 Python
python读写csv文件实例代码
2019/07/05 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
求职者应聘的自我评价
2013/10/16 职场文书
总经理助理岗位职责
2013/11/08 职场文书
女儿十岁生日答谢词
2014/01/27 职场文书
《鸟的天堂》教学反思
2014/02/27 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
高三生物教学反思
2016/02/22 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫