vue組件通信之非父子組件通信


什么順序不順序的。。

先來說說非父子組件通信。

首先,我們先來了解下vue中的

1.$emit  觸發當前實例上的事件,附加參數都會傳給監聽器回調。

2.$on  監聽當前實例上的自定義事件。事件可以由vm.$emit觸發。回調函數會接收所有傳入事件觸發函數的額外參數。

基礎知識准備好了,下面,我們就來實現非父子組件之間是怎樣通信的:

第一步,我們需要新建一個js文件,用來創建一個Vue實例並暴露出去

創建一個事件中心,相當於中轉站,可以用它來傳遞事件和接收事件

假如,我們想要Home組件傳遞自身的msg屬性給News組件,並在News組件中展示出來。

首先,需要在Home組件中導入我們剛創建的VueEvent

 

Home 組件 代碼 如圖所示

 創建一個按鈕並設置事件

 

在NewsEmit事件中,通過VueEvent.$emit("to_news",this.msg) 將 to_news 事件及數據一並發出

 News 組件  代碼 如圖所示

News 組件中同樣需要引入 VueEvent

 

 

 

 mounted 是vue的生命周期函數中的其中一個,表示,頁面加載完畢執行。

通過 $on 接收 事件,及數據,並賦值給msg,展示到視圖中。

結果如圖所示:

點擊按鈕,數據展示。

 

未完,待續

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM