5-1 组件及组件间的通信-定义组件的方式
目录:
- 什么是组件
- 组件的定义方式
一、什么是组件?
组件(Compontent)是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码,在较高层面上,组件是自定义元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展。Vue官方:组件基础
组件是自定义元素(对象)
二、定义组件的方式
2.1、先创建组件构造器,然后由组件构造器创建组件
Vue.extend( options ) //构造器
Vue.component( id, [definition] ) //组件构造器
用法:(第一种方式不怎么用,比较麻烦)
<body>
<div id="box">
<!--通过标签名(或叫ID)来引用组件-->
<my-hello></my-hello>
</div>
<script type="text/javascript" src="../vue.js"></script>
<script>
/**
* 方式1: 先创建组件构造器,然后由组件构造器创建组件()
*/
//1、使用Vue.extend()创建一个组件构造器
var MyComponent=Vue.extend({
template:'<h3>hello world</h3>'
});
//2.使用Vue.component(标签名或叫ID,组件构造器),根据组件构造器来创建组件
Vue.component('my-hello',MyComponent);//官方建议,组件名中间以 - 隔开
new Vue({
el: "#box"
});
</script>
</body>
2.2、直接创建组件(推荐)
用法如下:
<body>
<div id="box">
<!--通过标签名(或ID)来引用组件-->
<my-world></my-world>
</div>
<script type="text/javascript" src="../vue.js"></script>
<script>
/**
* 方式2: 直接创建组件(推荐)
*/
Vue.component('my-world',{ //组件命名标签名(或叫ID)的时候,建议使用 - 线
template:'<h3>你好 世界</h3>'
});
//Vue实例也是一个组件,称为根组件ROOT
new Vue({
el: "#box"
});
</script>
</body>
注意: Vue实例也是一个组件,称为根组件ROOT,如图:


浙公网安备 33010602011771号