浅谈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 相关文章推荐
jquery 经典动画菜单效果代码
Jan 26 Javascript
Javascript 面向对象 重载
May 13 Javascript
简单实用的js调试logger组件实现代码
Nov 20 Javascript
基于jQuery实现复选框是否选中进行答题提示
Dec 10 Javascript
基于jQuery实现select下拉选择可输入附源码下载
Feb 03 Javascript
JS实现的驼峰式和连字符式转换功能分析
Dec 21 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
微信小程序中使用javascript 回调函数
May 11 Javascript
javascript算法之二叉搜索树的示例代码
Sep 12 Javascript
JS实现的合并多个数组去重算法示例
Apr 11 Javascript
微信小程序在线客服自动回复功能(基于node)
Jul 03 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
学习使用curl采集curl使用方法
2012/01/11 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
Python注释详解
2016/06/01 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
解决Django连接db遇到的问题
2019/08/29 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
前台接待员岗位职责
2014/01/02 职场文书
初一英语教学反思
2014/01/11 职场文书
自我鉴定写作要点
2014/01/17 职场文书
建筑安全生产责任书
2014/07/22 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
2014年双拥工作总结
2014/11/21 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
利用Python实现模拟登录知乎
2022/05/25 Python