網(wǎng)站無法訪問百度網(wǎng)盤首頁
一、安裝全局事件總線
全局事件總線就像是一個工具,專門用于掛載自定義事件和。
想要所有的組件都能使用這個全局事件總線,就只有在Vue的原型身上添加一個能夠綁定自定義事件的屬性。
所以我們在創(chuàng)建Vue實(shí)例對象的時候就可以添加如下代碼:
Vue.prototype.$bus = this;
這段代碼一定要在beforeCreate?生命周期函數(shù)中進(jìn)行!
因?yàn)樵趘m創(chuàng)建過后所有的組件都已經(jīng)創(chuàng)建完成,再添加事件總線的時候已經(jīng)晚了。
在vm創(chuàng)建之前還沒有vm,this不是指向vm的。
二、使用全局事件總線
我們用Students組件向School組件傳遞name屬性為例子:
定義自定義事件依舊是使用的$on,?觸發(fā)自定義事件使用$emit
對自定義事件不了解可以看這篇文章:Vue組件自定義事件實(shí)現(xiàn)子組件給父組件傳遞數(shù)據(jù)-CSDN博客
?
三、解綁全局事件總線
當(dāng)一個全局事件中的自定義事件不再使用時,我們最好在beforeDestroy生命周期函數(shù)中使用$off() 對事件進(jìn)行解綁。