Vue 创建组件的两种方法小结(必看)


Posted in Javascript onFebruary 23, 2018

创建组件的两种方法小结

1.全局注册

2.局部注册

var child=Vue.extend({})
var parent=Vue.extend({})

Vue.extend() 全局方法 生成构造器,创建子类

使用基础 Vue 构造器,创建一个“子类”。

这样写非常繁琐。于是vue进行了简化

使用Vue.component()直接创建和注册组件:

Vue.component(id,options) 全局方法 用来注册全局组件

id 是string类型,即是注册组件的名称

options 是个对象

// 全局注册,my-component1是标签名称
Vue.component('my-component1',{
 template: '<div>This is the first component!</div>'
})
var vm1 = new Vue({
 el: '#app1'
})

Vue.component()的第1个参数是标签名称,第2个参数是一个选项对象,使用选项对象的template属性定义组件模板。

使用这种方式,Vue在背后会自动地调用Vue.extend()。

在选项对象的components属性中实现局部注册:

var vm2 = new Vue({
 el: '#app2',
 components: {
  // 局部注册,my-component2是标签名称
  'my-component2': {
   template: '<div>This is the second component!</div>'
  },
  // 局部注册,my-component3是标签名称
  'my-component3': {
   template: '<div>This is the third component!</div>'
  }
 }
})

==局部注册都放在选项对象中创建==

注意:这里是components,里面可以定义多个组件。

简化后是这样的写法

<body>
 <div id='box'>  
  <parent>  
  </parent>
 </div>
 <script src='js/vue.js'></script>
 <script>
  Vue.component('parent',{
   template:`<div><h1>我是父组件</h1><child></child></div>`,
    components:{
    'child':{
     template:`<h1>我是子组件</h1>`
    }
   }
  })
  new Vue({
   el:'#box'
  })
 </script>
</body>

注册一个parent的父组件。然后在父组件的选项对象中注册一个child的子组件。将子组件child的标签写到父组件parent的template里面。

页面上的样式结构就是

<div>
 <h1>我是父组件</h1>
 <h1>我是子组件</h1>
</div>

注意:用局部注册的子组件不能单独直接使用!

标签挂在div里,会报错

<div id='box'>  
 <child></child>
</div>

结果会报错。

以上这篇Vue 创建组件的两种方法小结(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
实用javaScript技术-屏蔽类
Aug 15 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
Apr 26 Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
Mar 26 Javascript
JQuery radio(单选按钮)操作方法汇总
Apr 15 Javascript
JavaScript判断FileUpload控件上传文件类型
Sep 28 Javascript
JavaScript中的this使用详解
Jul 27 Javascript
jQuery窗口拖动功能的实现代码
Feb 04 Javascript
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
微信小程序富文本渲染引擎的详解
Sep 30 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
Aug 25 Javascript
详解VUE单页应用骨架屏方案
Jan 17 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
Feb 23 #Javascript
ES6下子组件调用父组件的方法(推荐)
Feb 23 #Javascript
angular动态表单制作
Feb 23 #Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 #Javascript
浅谈vuejs实现数据驱动视图原理
Feb 23 #Javascript
Vue父组件调用子组件事件方法
Feb 23 #Javascript
vue实现密码显示隐藏切换功能
Feb 23 #Javascript
You might like
ThinkPHP写第一个模块应用
2012/02/20 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
python处理中文编码和判断编码示例
2014/02/26 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
python回调函数中使用多线程的方法
2017/12/25 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
优质的学校老师推荐信
2013/10/28 职场文书
业务主管岗位职责
2013/11/20 职场文书
精通CAD能手自荐书
2014/01/31 职场文书
中队活动总结
2014/08/27 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
2015年重阳节主持词
2015/07/04 职场文书
网吧员工管理制度
2015/08/05 职场文书
中学生运动会广播稿
2015/08/19 职场文书
Python IO文件管理的具体使用
2022/03/20 Python
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android