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 相关文章推荐
Vue3+elementui plus创建项目的方法
Dec 01 Vue.js
在vue项目中封装echarts的步骤
Dec 25 Vue.js
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
vscode自定义vue模板的实现
Jan 27 Vue.js
vue使用Google Recaptcha验证的实现示例
Aug 23 Vue.js
详细聊聊vue中组件的props属性
Nov 02 Vue.js
Vue中使用import进行路由懒加载的原理分析
Apr 01 Vue.js
Vue+Flask实现图片传输功能
Apr 01 Vue.js
vue实现可以快进后退的跑马灯组件
Apr 08 Vue.js
vue代码分块和懒加载非必要资源文件
Apr 11 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 前一天或后一天的日期
2008/06/28 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
php文件上传的两种实现方法
2016/04/04 PHP
php错误日志简单配置方法
2016/07/11 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
BootStrap 导航条实例代码
2017/05/18 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
Django中url的反向查询的方法
2018/03/14 Python
python实现抖音点赞功能
2019/04/07 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
中秋晚会活动方案
2014/08/31 职场文书
拾金不昧感谢信
2015/01/21 职场文书
幼师中班个人总结
2015/02/12 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
归途列车观后感
2015/06/17 职场文书
美容院员工规章制度
2015/08/05 职场文书
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL