描述:一个点击事件,多次触发回调函数,使得加载图的loading多次触发,叠加显示,关闭不掉遮罩。
eventBus.$on事件初始点击执行了两次,而且每点击一次就多执行一次
浏览器打印报错
解决方案:
可以在子组件被销毁前解除绑定
beforeDestroy() {
eventBus.$off('treeSelected'); // eventBus指的是this.$bus(bus事件总线),treeSelected指的是‘eventA’回调事件
}
触发事件
eventBus.$emit("eventA", { paramA: 123 });
监听事件
eventBus.$on("eventA", (e) => { console.log(e.paramA); });