非父子元件通訊

2021-09-20 03:29:20 字數 1212 閱讀 8842

分類:

1)兄弟元件

2)跨多級元件

實現方式

vue.js 1.x

1)在vue.js 1.x中,除了emi

t()方

法外,還

提供了emit()方法外,還提供了

emit()

方法外,

還提供了

dispatch()和bro

adca

st()

這兩個方

法。broadcast()這兩個方法。

broadc

ast(

)這兩個

方法。dispatch()用於向上級派發事件,只要它的父極(一級或多級以上),都可以在vue例項的events選項內接收

2) 核心**

>

}<

/my-component>

<

/div>

vue.

component

('my-component',}

})newvue(,

events:

}同理,$broadcast() 是由上級向下級廣播事件的,用法完全一致,只是方向相反。

這兩種方法一旦觸發事件後,任何元件都可以接收到,就近原則,而且會在第一次接收後停止冒泡,除非返回true。

但是這兩種方式在vue.js 2.x中都廢棄了,因為基於元件樹結構的事件流方式讓人難以理解,並且在元件結構擴充套件的過程中都會變得越來越脆弱,並且不能解決兄弟元件的通訊問題。

vue.js 2.x

1)理解:可以比喻為找中介買房子,中介聯絡合適的**,買家和賣家(兩個跨級的元件)沒有任何交流都是通過中間人(**事件匯流排–bus)傳話。

2)核心**

>

}<

/my-component>

<

/div>

var bus =

newvue()

; vue.

component

('my-component',}

})newvue(,

mounted()

)},}

)3)頁面效果

vue 非父子元件通訊

vuex模組狀態管理進行模組間的通訊 1.建立名為store 2.建立名為index.js檔案 內容 import vue from vue import vuex from vuex vue.use vuex const state export default new vuex.store 3....

Vue 非父子元件通訊

元件是vue核心的一塊內容,元件之間的通訊也是很基本的開發需求。元件通訊又包括父元件向子元件傳資料,子元件向父元件傳資料,非父子元件間的通訊。前兩種通訊vue的文件都說的很清楚,但是第三種文件上確只有下面的幾句 具體如何去實現卻沒有很詳細的說明,於是自己試著進行了實現。先看下簡單的通訊效果 就是點選...

Vue父子元件及非父子元件如何通訊

父元件資料如何傳遞給子元件呢?可以通過props屬性來實現 父元件 子元件通過props來接收資料 方式1 方式2 方式3 這樣呢,就實現了父元件向子元件傳遞資料.那麼,如果子元件想要改變資料呢?這在vue中是不允許的,因為vue只允許單向資料傳遞,這時候我們可以通過觸發事件來通知父元件改變資料,從...