vue 組件之間互相傳值:兄弟組件通信
我們在項目中經常會遇到兄弟組件通信的情況。在大型項目中我們可以通過引入 vuex 輕松管理各組件之間通信問題,但在一些小型的項目中,我們就沒有必要去引入 vuex。有幾種方法:
方法一:先子傳父,再父傳子
思路:子傳父:首先我們在 a.vue 組件中 ,給按鈕 botton 綁定一個 handleClick 事件,事件中我們通過 this.$emit() 方法去觸發一個自定義事件,並傳遞我們的參數。示例中我們通過 this.$emit() 去觸發 isLogFn 這個方法自定義事件,並將 log 參數傳遞出去。我們要在父組件中去監聽這個自定義事件,去觸發對應的方法,並接受 a 組件傳過來的參數。此時我們就完成了子組件向父組件傳值的過程。然后 b 組件中需要創建 props,定義一個 isLog 屬性,這個屬性就是我們傳過來的數值。然后我們在計算屬性中處理這個數據,最終供 b 組件使用。示例中,我們在 v-show=”isLogin” 中用來控制彈窗是否打開。
a.vue 子組件
app.vue 父組件
b.vue 子組件
本方法文章轉子網絡,如有侵權聯系刪除
謝謝支持我是涵醬!