新增元件 父子元件的通訊

2021-10-14 18:41:58 字數 1690 閱讀 6262

原創:牛津小馬哥web前端工程師陳小妹妹。

在前端vue框架中,我們常常使用多個頁面組成乙個元件來建立專案。每個元件都有其自己的功能,基於元件的體系結構使開發和維護應用程式變得容易。在開發過程中,您可能會遇到需要與其他元件共享資料的情況。在本文中,我們將學習實現元件之間通訊的常用方法。

vue.js允許通過以下方式進行元件通訊:

1.父子元件溝通props:

在這種型別的通訊中,父級通過在元件宣告中新增引數將資料傳遞給子級。

父元件

考慮上面的**。在這裡,我們在子元件宣告中新增了乙個引數「message」。為了動態設定值,我們必須在引數之前新增「」。

子元件

在子元件中,我們新增了輸入引數「message」以及資料型別「string」。

道具僅提供父母與孩子之間的單向交流,反之亦然。道具中屬性/引數的值的任何更改都直接反映在子級中。

但是,如果要在更改值時在子元件內部呼叫方法,該怎麼辦。

props變更時觸發動作

在上面的示例中,我們新增了乙個屬性「watch」,在其中宣告了用於呼叫callme()方法的函式。這將確保在更改值時將呼叫callme()函式。

2.子元件向父元件通訊:$emit

在這種型別的交流中,事件可確保孩子與父母之間的交流,並且孩子是通過事件向父母傳值。

在子元件中,我們編寫如下**:

可以看到,在「childcomponent」中,我們觸發乙個事件,該事件發出一條訊息,其父級可以使用「v-on:」指令獲取此訊息。如下:

在事件中,引數是可選的。您可以傳遞「n」個引數。當子元件觸發事件「messagefromchild()」時,

將呼叫「childmessagereceived()」函式。

父子元件通訊

子元件向父元件傳遞this emit 子元件向父元件傳遞事件並攜帶引數子元件 向父元件傳遞事件todetail並傳遞引數res this emit todetail res 父元件 監聽事件並輸出引數 todetails child comp 父元件呼叫子元件中方法 ref 用於給元素 子元件註冊引...

父子元件通訊

父元件 子元件 通過props properties縮寫 通訊 兩種方式 陣列和物件 常用物件方式 test cmovies movies cnt div comc v for item in cmovies li ul div template src js vue.js script 子元件 c...

Angular元件 父子元件通訊

angular元件間通訊 元件之間松耦合,元件之間知道的越少越好。元件4裡面點選按鈕,觸發元件5的初始化邏輯。傳統做法 在按鈕4的點選事件裡呼叫元件5的方法。緊密耦合。angular 在元件4根本不知道元件5存在的情況下實現。使用松耦合的方式在元件之間傳遞資料開發出高重用性的元件。使用輸入輸出屬性在...