$bus 全局事件总线:Vue 组件间通信的利器
$bus 是一个全局事件总线,它可以方便地在不同的 Vue 组件之间进行通信和数据传递。
使用 $bus 的步骤如下:
- 在
main.js中注册 $bus:
import Vue from 'vue'
Vue.prototype.$bus = new Vue()
- 在发送消息的组件中,使用
$emit方法发送消息:
this.$bus.$emit('event-name', data)
其中,'event-name' 是事件名称,data 是要传递的数据。
- 在接收消息的组件中,使用
$on方法接收消息:
this.$bus.$on('event-name', data => {
// 处理接收到的消息
})
其中,'event-name' 要与发送消息的组件中的事件名称相同,data 是传递过来的数据。
- 在组件销毁时,一定要使用
$off方法取消监听,避免内存泄漏:
this.$bus.$off('event-name')
其中,'event-name' 要与之前注册的事件名称相同。
使用 $bus 可以方便地进行组件之间的通信,但是需要注意避免事件命名冲突和内存泄漏问题。
原文地址: https://www.cveoy.top/t/topic/mKeN 著作权归作者所有。请勿转载和采集!