欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue .$bus

錢諍諍2年前8瀏覽0評論

今天我們來講一下Vue中的 $bus。$bus是一個基于Vue.prototype定義的全局事件總線,可以在不同的組件之間通信。使用$bus可以減少組件之間的耦合度,為Vue項目的開發提供了方便。

Vue.prototype.$bus = new Vue();

在Vue實例中,我們可以使用$bus.$on()來監聽一個事件,使用$bus.$emit()來觸發一個事件。例如,我們在組件A中監聽一個事件,然后在組件B中觸發這個事件,來進行組件之間的通信。

// 組件A
export default {
created() {
this.$bus.$on('change', this.onChange)
},
methods: {
onChange() {
// 處理事件邏輯
}
}
}
// 組件B
export default {
methods: {
handleClick() {
this.$bus.$emit('change')
}
}
}

當然,在組件銷毀時,我們也要及時地將$on監聽的事件取消掉。在Vue的生命周期中,我們可以使用beforeDestroy或者destroyed來取消事件監聽。

// 組件A
export default {
created() {
this.$bus.$on('change', this.onChange)
},
beforeDestroy() {
this.$bus.$off('change', this.onChange)
},
methods: {
onChange() {
// 處理事件邏輯
}
}
}

總之,$bus是Vue中一個非常方便的工具,可以幫助我們輕松地實現組件間的通信,提高項目的開發效率。