web前端開發(fā)中父鏈和子鏈方式實現(xiàn)通信


父鏈和子鏈是一種父子間組件通信的新方式。

垣曲網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),垣曲網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為垣曲超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的垣曲做網(wǎng)站的公司定做!

概念

父鏈:

在子組件中,使用this.$parent可以直接訪問該組件的父實例或組件,【類似于原生或者jquery中獲取父節(jié)點的方式,但是并沒有操作dom】

子鏈:

在父組件中,使用this.$children訪問它所有的子組件,當子組件較多時可以通過子組件索引名稱來實現(xiàn)查找?!绢愃朴谠蛘遤query中獲取子節(jié)點的方式】

說明

1. this.$parent與this.$children可以無限的向上或向下訪問,直到根實例或最內(nèi)層組件。

2. 然后由于子組件可以有多個,this.$children獲取子組件時,獲取的是一個數(shù)組,要給其下標才能獲取到具體的某一個子組件。

3. 這時操作起來不是很方便,此時我們就可以使用:子組件索引的方式實現(xiàn)獲取具體子組件

父鏈實例

web前端開發(fā)中父鏈和子鏈方式實現(xiàn)通信

子鏈實例

web前端開發(fā)中父鏈和子鏈方式實現(xiàn)通信

子組件索引實例

給子組件定義索引時,需要在子組件調(diào)用標簽上使用ref屬性定義,如:

web前端開發(fā)中父鏈和子鏈方式實現(xiàn)通信

然后在父組件中獲取時,通過this.$refs.refName的方式獲取具體的子組件,然后.$refs只在組件渲染完成后才會充填。

web前端開發(fā)中父鏈和子鏈方式實現(xiàn)通信

this.$refs.sub2.submes = "來自父組件的信息--sub2";

web前端開發(fā)中父鏈和子鏈方式實現(xiàn)通信

由于$refs是非響應(yīng)式的,所以他僅僅作為直接訪問子組件的一個應(yīng)急方案。應(yīng)當避免在計算屬性或者模板中使用$refs.

父鏈和子鏈總結(jié)

1. 父鏈與子鏈的父子組件通信方式非常相似與傳統(tǒng)的dom節(jié)點通信方式,當然他仍然沒有去操作dom節(jié)點,他操作的仍然是數(shù)據(jù)。

2. 不過這種方式會讓父子組件間出現(xiàn) 緊耦合 很難看清他們的狀態(tài),因為他隨時可能會被任意組件修改,所以這種方式并不推薦!

3. 父子組件通信最好還是使用props與【自定義事件+$emit】的方式來通信。

4. 跨級組件間的通信還是使用中央事件總線的方式實現(xiàn)通信?!綽us.$emit(),bus.$on()】

本文題目:web前端開發(fā)中父鏈和子鏈方式實現(xiàn)通信
標題網(wǎng)址:http://muchs.cn/article8/piceip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站排名、標簽優(yōu)化網(wǎng)站內(nèi)鏈、微信小程序、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名