vue2 0父子元件間通訊

2021-07-30 18:30:11 字數 1019 閱讀 4486

父元件資料如何傳遞給子元件呢?可以通過props屬性來實現

父元件:

//這裡必須要用 - 代替駝峰data();}

子元件通過props來接收資料:

方式1:

props: ['childmsg']

方式2 :

props:

props: }

這樣呢,就實現了父元件向子元件傳遞資料.

那麼,如果子元件想要改變資料呢?這在vue中是不允許的,因為vue只允許單向資料傳遞,這時候我們可以通過觸發自定義事件來通知父元件改變資料,從而達到改變子元件資料的目的.

使用 v-on 繫結自定義事件

每個 vue 例項都實現了事件介面(events inte***ce),即:

使用 $on(eventname) 監聽事件

使用 $emit(eventname) 觸發事件

父元件可以在使用子元件的地方直接用 v-on 來監聽子元件觸發的事件。

子元件:

methods: }

父元件:

//監聽子元件觸發的upup事件,然後呼叫change方法

methods: }

觸發事件使用駝峰格式的自定義事件名稱,在父元件中就可以使用on-evnet-name的形式來監聽。

如果2個元件不是父子元件那麼如何通訊呢?這時可以通過eventhub來實現通訊.

所謂eventhub就是建立乙個事件中心,相當於中轉站,可以用它來傳遞事件和接收事件.

使用乙個空的 vue 例項作為**事件匯流排:

let hub = new vue(); //建立事件中心,注意hub要放在全域性

元件1觸發:

methods: }

元件2接收:

created() );}

vue2 0父子元件間通訊

父元件資料如何傳遞給子元件呢?可以通過props屬性來實現 父元件 這裡必須要用 代替駝峰data 子元件通過props來接收資料 方式1 props childmsg 方式2 props props 這樣呢,就實現了父元件向子元件傳遞資料.那麼,如果子元件想要改變資料呢?這在vue中是不允許的,因...

Vue2 0 之父子兄弟元件間通訊

childa childb div template type text ecmascript 6 import childa from components a.vue import childb from components b.vue export default script lang s...

vue2 0 父子元件通訊 兄弟元件通訊

父元件是通過props屬性給子元件通訊的來看下 父元件 content 注意這裡用駝峰寫法哦 data 子元件通過props來接受資料 第一種方法 props childcom 第二種方法 props 第三種方法 props 子元件與父元件通訊 vue2.0只允許單向資料傳遞,我們通過出發事件來改變...