分類:
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只允許單向資料傳遞,這時候我們可以通過觸發事件來通知父元件改變資料,從...