1.4 KiB
1.4 KiB
组件
组件是带有一个名字的可复用的vue实例,可以在new Vue创建的vue根实例中把定义的组件当做自定义元素来使用
组件构成
组件和new Vue接收的选项相同,都包括如下部分
-
data
-
methods
-
computed
-
watch
-
components 组件内可以调用其他组件
el 是根实例特有的选项,组建中不能出现el选项
组件定义和使用:
定义一个组件
需要把组件实例赋给一个变量
let counter=Vue.component('counter', {
data: function () {
return {
count: 0
}
},
methods:{
add(){
this.count+=1
}
},
template: '<button v-on:click="add">You clicked me {{ count }} times.</button>'
})
声明组件中,组件内部的data必须是一个函数
因此 ,每个组件实例都是彼此独立的
使用它:
js部分:
var app = new Vue({
el: '#app',
data: {
selected: []
},
component:{
counter
}
})
template (html)部分
<div id="app">
<counter></counter>
<counter></counter>
<counter></counter>
<counter></counter>
</div>
组件可以使用任意次数
这个例子中,id=app的部分叫做 父组件 counter指代的部分叫做 子组件