Vue事件总线是一种通信机制,它允许在Vue组件之间进行事件传递和处理。以下是Vue事件总线的使用步骤:
1.在main.js注册
Vue.prototype.$bus = new Vue()
2.在发送方组件中,使用 $emit 方法触发事件并传递参数:
this.$bus.$emit('event-name', data)
3.在接收方组件中,使用 $on 方法监听事件可在mounted里面:
this.$bus.$on('event-name', (data) => {
// 处理事件
})
4.注意:当不再需要监听事件时,一定要在组件销毁前调用 $off 方法解绑:
beforeDestroy() {
this.$bus.$off('event-name')
}
总结:Vue事件总线可以用于父子组件之间、兄弟组件之间、跨级组件之间等场景的通信。但由于它是全局对象,所以在复杂的应用中可能会导致事件冲突或难以追踪问题。因此,在使用事件总线时,建议仅在必要情况下使用,并且注意事件命名和解绑。