0

我想知道以下事物的概念-

我创建了一个组件并设置了它受人尊敬的事件侦听器。现在,我想在重定向到将创建另一个组件的另一个路由之前删除该组件的 beforeDestroy 挂钩上的那些侦听器。但我注意到的是,第一个组件的 beforeDestory 钩子甚至在第二个组件的创建钩子之后调用。

我想完全销毁第一个组件,然后创建另一个组件。

// To set up the event listeners
created() {
  this.EventBus.$on('myCustomEvent', payload => {
    // some code here
  )}
}

// To destroy the event listeners
beforeDestroy() {
  this.EventBus.$off('myCustomEvent');
}

有什么建议么?

4

1 回答 1

1

在寻找您问题的答案时,我得出的结论是最好完全拒绝使用 EventBus。

以下是有关此的一些信息一些想法:

我有一种感觉,在 Vue 中使用 EventBus 是一种反模式,尤其是如果您使用的是 VueX,但我不能完全理解它。当您想要共享这样的数据时,使用存储来处理所有这些“事件”/“突变”不是更好吗?

另外,看看这个问题的解决方案,你做的一切都是正确的,没有别的办法。

于 2021-08-25T20:41:43.020 回答