vue事件总线

A和B是两个组件,但是A和B不存在父子关系,他们之间可以使用事件总线进行通信

在入口main.js文件中创建总线实例,并绑定到vue属性中

Vue.prototype.$bus = new Vue()

A组件

可通过this.$bus.$on来监听事件

B组件

可通过this.$bus.$emit发射事件

常见问题

  • 比如监听事件执行多次,可以考虑在监听之前使用this.$bus.$off取消监听
  • 事件监听不起效果,建议大家结合vue的生命周期思考一下,之后就明白了

你可能感兴趣的:(vue事件总线)