浅谈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 Base64编码和解码,实现URL参数传递。
Sep 18 Javascript
JavaScript 高级语法介绍
Jun 15 Javascript
JavaScript Event学习第六章 事件的访问
Feb 07 Javascript
如何改进javascript代码的性能
Apr 02 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
JavaScript基础知识之方法汇总结
Jan 24 Javascript
一个超简单的jQuery回调函数例子(分享)
Aug 08 Javascript
浅析JavaScript函数的调用模式
Aug 10 Javascript
微信小程序 实战实例开发流程详细介绍
Jan 05 Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 Javascript
微信小程序实现搜索框功能及踩过的坑
Jun 19 Javascript
Vue的Options用法说明
Aug 14 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
Zend Framework页面缓存实例
2014/06/25 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
python pygame实现2048游戏
2018/11/20 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
杭州-DOTNET笔试题集
2013/09/25 面试题
园林技术个人的自我评价
2014/02/15 职场文书
活动总结怎么写
2014/04/28 职场文书
学校党员干部承诺书
2015/05/04 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
vue如何清除浏览器历史栈
2022/05/25 Vue.js
mysql中关键词exists的用法实例详解
2022/06/10 MySQL