停止接收来自已损坏子组件的事件

vue.js Vue.js

JinJin乐

2020-03-12

我有一个父母,可以在其中动态添加子组件。

当将子组件添加到挂载中时,我注册一个事件的侦听器

EventBus.$on('content-type-saving', function() {
    logic here...
}

问题在于,当通过从子组件数组中删除该组件而在父组件中删除该组件时,该组件甚至仍会触发并运行其中的代码。

如何防止这种情况发生?我试过了

    beforeDestroy() {
      //do something before destroying vue instance
        EventBus.$off('content-type-saving')
    }

但这也关闭了所有其他子组件的事件,因此那些仍处于活动状态的组件将不再执行逻辑操作,因为我关闭了销毁的子组件中的事件。

我以为,如果我关闭一个事件,则只会影响该子组件的监听事件,而不会影响所有子组件的事件。

如何停止被破坏的组件对事件做出反应?

第1102篇《停止接收来自已损坏子组件的事件》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

0个回答

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android