欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue反向引用組件

錢多多2年前9瀏覽0評論

在Vue組件淺顯易懂的核心中,我們發(fā)現(xiàn)了一個經(jīng)常被用到的方法,叫做反向引用組件。它允許你在父組件中訪問子組件,雖然在原理和方式上它與簡單的組件綁定不同,卻是非常有用的一種技術(shù)。

如何使用反向引用組件?對于希望在父組件中引用子組件的開發(fā)者來說,這個技術(shù)很容易理解。在組件注冊時,將其child指令設(shè)置為true。這意味著該組件實例將存儲在其父組件實例中,而父組件實例僅有在它創(chuàng)建其子組件實例時才能訪問它們。

Vue.component('child-component',{
child: true,
data(){
return{
message:"Hello Vue.js"
}
}
})

上述代碼的意義是,在該子組件初始化時自動注冊一個child組件,即創(chuàng)造一個反向鏈接。這個鏈接的結(jié)果就是,當(dāng)父組件調(diào)用子組件時,其實它在調(diào)用已經(jīng)存在于父組件中的子組件對象。

除此以外,反向引用組件還可以用來實現(xiàn)很多復(fù)雜的交互需求。例如,你可以使用它來改變子組件的狀態(tài)。為了實現(xiàn)這一功能,你需要為你的子組件編寫一個方法來更新其狀態(tài)屬性,并在父組件中通過引用該方法來實現(xiàn)調(diào)用。

Vue.component('child-component', {
child: true,
data(){
return{
message: "Hello Vue.js",
count: 0
}
},
methods:{
increment(){
this.count++;
}
}
})
const vm =new Vue({
el:"#app",
methods:{
onClick(){
this.$children.forEach(child =>{
if(child.hasOwnProperty('increment')){
child.increment();
}
});
}
}
})

在這段代碼中,我們創(chuàng)建了一個計數(shù)器組件,并將其綁定到父組件上。當(dāng)你在父組件中調(diào)用onClick方法時,你會發(fā)現(xiàn)該方法會遍歷所有子組件,并調(diào)用其中改變組件狀態(tài)的increment方法。這個東西還不錯,不過我們得注意一下組件之間的耦合度問題。

上述方法中,我們需要自己依次遍歷我們要找尋的組件,這就會有一定的復(fù)雜度,而且一旦組件內(nèi)部發(fā)生變化,我們也需要進(jìn)行相關(guān)的更新操作才能繼續(xù)使用反向引用組件。即便如此,反向引用組件依然存有極大的價值。