因?yàn)榻M件是可復(fù)用的 Vue 實(shí)例豁遭,所以它們與 new Vue 接收相同的選項(xiàng),例如 data贺拣、computed蓖谢、watch、methods 以及生命周期鉤子等譬涡。僅有的例外是像 el 這樣根實(shí)例特有的選項(xiàng)闪幽。
組件的復(fù)用
你可以將組件進(jìn)行任意次數(shù)的復(fù)用:
<div id="components-demo">
<button-counter></button-counter>
<button-counter></button-counter>
<button-counter></button-counter>
</div>
data 必須是一個(gè)函數(shù)
一個(gè)組件的 data 選項(xiàng)必須是一個(gè)函數(shù),因此每個(gè)實(shí)例可以維護(hù)一份被返回對(duì)象的獨(dú)立的拷貝:
data: function () {
return {
count: 0
}
這里有兩種組件的類(lèi)型:全局組件和局部組件涡匀。
//全局注冊(cè)
Vue.component('my-component-name', {
// ... options ...
})
Prop 是你可以在組件上注冊(cè)的一些自定義特性盯腌。當(dāng)一個(gè)值傳遞給一個(gè) prop 特性的時(shí)候,它就變成了那個(gè)組件實(shí)例的一個(gè)屬性陨瘩。為了給博文組件傳遞一個(gè)標(biāo)題腕够,我們可以用一個(gè) props 選項(xiàng)將其包含在該組件可接受的 prop 列表中:
Vue.component('blog-post', {
props: ['title'],
template: '<h3>{{ title }}</h3>'
})
我們可以使用 v-bind 來(lái)動(dòng)態(tài)傳遞 prop。
組件之間的傳值
1.父給子傳:用屬性傳舌劳;
2子給父?jìng)鳎河檬录鳎ǚ椒ǎ?/em>
3同級(jí)之間傳值:用中間量傳帚湘;