Vue 组件注册全解析


Posted in Vue.js onDecember 17, 2020

全局组件注册语法

components中的两个参数组件名称和组件内容

Vue.component(组件名称, {
   data: 组件数据,
   template:组件模板内容
  })

全局组件注册应用

组件创建:

Vue.component('button-counter', {
   data: function(){
    return {
     count: 0
    }
   },
   template: '<button @click="handle">点击了{{count}}次</button>',
   methods: {
    handle: function(){
     this.count ++;
    }
   }
  })
  var vm = new Vue({
   el: '#app',
   data: {
   }
  });

如何在页面中运用,直接在页面中应用组件名称

<div id="app">
  <button-counter></button-counter>
</div>

这个组件是可以重用的,直接在页面中多次使用,切数据相互独立,互不干扰

组件注册注意事项

1.data必须是一个函数

  • 分析函数与普通对象的对比

2.组件模板内容必须是单个根元素

  • 分析演示实际的效果

3.组件模板内容可以是模板字符串

  • 模板字符串需要浏览器提供支持(ES6语法)

4.组件命名方式

  • 短横线方式
Vue.component('my-component',{/*...*/})

驼峰方式

Vue.component('MyComponent',{/*...*/})

如果使用驼峰式命名组件,那么在使用组件的时候,只能在字符串模板中用驼峰的方式使用组件,但是在普通的标签模板中,必须使用短横线的方式使用组件

局部组件

局部组件只能在注册它的父组件中使用

局部组件注册语法

var ComponentA = {/*...*/}
var ComponentB = {/*...*/}
var ComponentC = {/*...*/}
new Vue({
  el : '#app',
  components: {

'component-a' : ComponentA,


'component-b' : ComponentB,


'component-c' : ComponentC

}
})

组件的创建

Vue.component('test-com',{
   template: '<div>Test<hello-world></hello-world></div>'
  });
  var HelloWorld = {
   data: function(){
    return {
     msg: 'HelloWorld'
    }
   },
   template: '<div>{{msg}}</div>'
  };
  var HelloTom = {
   data: function(){
    return {
     msg: 'HelloTom'
    }
   },
   template: '<div>{{msg}}</div>'
  };
  var HelloJerry = {
   data: function(){
    return {
     msg: 'HelloJerry'
    }
   },
   template: '<div>{{msg}}</div>'
  };
  var vm = new Vue({
   el: '#app',
   data: {
    
   },
   components: {
    'hello-world': HelloWorld,
    'hello-tom': HelloTom,
    'hello-jerry': HelloJerry
   }
  });

页面中的应用

<div id="app">
  <hello-world></hello-world>
  <hello-tom></hello-tom>
  <hello-jerry></hello-jerry>
  <test-com></test-com>
 </div>

以上就是Vue 组件注册全解析的详细内容,更多关于Vue 组件注册的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue使用exif获取图片经纬度的示例代码
Dec 11 Vue.js
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
Vue与React的区别和优势对比
Dec 18 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 Vue.js
使用vue-element-admin框架从后端动态获取菜单功能的实现
Apr 29 Vue.js
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
vue elementUI表格控制对应列
Apr 13 Vue.js
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 #Vue.js
vue实现图片裁剪后上传
Dec 16 #Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 #Vue.js
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 #Vue.js
Vue解决移动端弹窗滚动穿透问题
Dec 15 #Vue.js
8个非常实用的Vue自定义指令
Dec 15 #Vue.js
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 #Vue.js
You might like
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
php str_pad 函数使用详解
2009/01/13 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
可缩放Reloaded-一个针对可缩放元素的复用组件
2007/03/10 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
Python3实现生成随机密码的方法
2014/08/23 Python
python中sets模块的用法实例
2014/09/30 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Pytorch的mean和std调查实例
2020/01/02 Python
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
业务总经理岗位职责
2014/02/03 职场文书
陈欧的广告词
2014/03/18 职场文书
小学六一主持词开场白
2015/05/28 职场文书
导游词之清晏园
2019/11/22 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android