vue子組件如何執行父組件方法和另一個子組件的方法

業務場景

當我們做相互性很強的界面時,會用到多個子組件,子組件傳值,我就不多說了,我之前的文章有提到,這篇就說下子組件執行父組件方法和另一個子組件的方法。
傳值說明的我的文章,有興趣可以看看:vue基礎語法以及父子組件如何相互傳值
子組件執行父組件方法和另一個子組件方法場景如下:
在這裏插入圖片描述
在A組件裏 點擊按鈕,執行到C組件裏的方法,並刷新數據。

存在問題及如何解決

我們的思路是通過組件C-A->B(子父子)

問題1:子組件直接執行父組件方法會失敗(this.parent.)console.log(this.parent.父方法) 我們可以console.log(this.parent)和vue devtools插件判斷結構
如下圖:vue devtools插件
在這裏插入圖片描述
解答問題1:
this . $ parent . $ parent . $ parent這樣就能達到父組件了

也就可以執行父方法了 this . $ parent . $ parent . $ parent.父方法

(你看上圖會問爲什麼會有這麼多層父組件,因爲我的是使用到了element裏內置多個組件)

如下圖:
在這裏插入圖片描述
2、如何到C子組件
已經到達了父組件C->A了,接下來,我們到B子組件,可以通過ref在父組件來綁定子組件
如圖:
在這裏插入圖片描述
最終效果,執行如下(成功執行到C子組件內的方法了):
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章