色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue $bus $off

傅智翔2年前9瀏覽0評論

$bus和$off是Vue中常用的通信方式之一。$bus是Vue實(shí)例的$emit和$on的封裝,可以實(shí)現(xiàn)不同組件之間的通信。例如:

<!-- 發(fā)送事件 -->
Vue.prototype.$bus.$emit('eventName', data)
<!-- 接收事件 -->
Vue.prototype.$bus.$on('eventName', (data) => {
// 處理事件
})

這里通過$bus發(fā)送了一個(gè)eventName事件,并將數(shù)據(jù)data傳遞了過去。在其他組件中,通過$bus接收該事件,并處理相應(yīng)的邏輯。

使用$bus的好處是可以實(shí)現(xiàn)跨級別組件之間的通信,比如一個(gè)組件需要與祖先組件進(jìn)行通信,而$emit和$on只能在父子組件之間使用。而$bus的缺點(diǎn)是需要手動管理事件,需要在適當(dāng)?shù)臅r(shí)間$off事件。

<!-- 取消事件監(jiān)聽 -->
Vue.prototype.$bus.$off('eventName')

使用$off可以取消已經(jīng)監(jiān)聽的事件,避免內(nèi)存泄漏和重復(fù)執(zhí)行邏輯。例如:

// 組件創(chuàng)建時(shí)監(jiān)聽事件
created() {
Vue.prototype.$bus.$on('eventName', this.handleEvent)
},
// 組件銷毀時(shí)取消事件監(jiān)聽
destroyed() {
Vue.prototype.$bus.$off('eventName', this.handleEvent)
}

這樣就保證了事件的正確處理,同時(shí)避免了不必要的監(jiān)聽造成的性能問題。