如何删除绑定到匿名函数的侦听器?

问题描述 投票:0回答:1

在我的组件中,我有一个侦听器附加到匿名函数。

我以后可以删除该侦听器,因为没有函数名称来指定附加到它的函数?

mounted() {
  EventBus.$on('setStickyHeaderCaption', (payload) => {
    ...
  });
},
beforeDestroy() {
  EventBus.$off('setStickyHeaderCaption');
}
vue.js event-listener
1个回答
0
投票

您不能。

无法确定要销毁哪个侦听器,因为正如您所说的,您使用了匿名函数作为回调。


0
投票

没有保存对函数的引用是不可能的。

您可以执行以下操作:

mounted() {
  this.anon = (payload) => {
   ...
  }
  EventBus.$on('setStickyHeaderCaption', this.anon);
},
beforeDestroy() {
  EventBus.$off('setStickyHeaderCaption', this.anon);
}
© www.soinside.com 2019 - 2024. All rights reserved.