在我的组件中,我有一个侦听器附加到匿名函数。
我以后可以删除该侦听器,因为没有函数名称来指定附加到它的函数?
mounted() {
EventBus.$on('setStickyHeaderCaption', (payload) => {
...
});
},
beforeDestroy() {
EventBus.$off('setStickyHeaderCaption');
}
您不能。
无法确定要销毁哪个侦听器,因为正如您所说的,您使用了匿名函数作为回调。
没有保存对函数的引用是不可能的。
您可以执行以下操作:
mounted() {
this.anon = (payload) => {
...
}
EventBus.$on('setStickyHeaderCaption', this.anon);
},
beforeDestroy() {
EventBus.$off('setStickyHeaderCaption', this.anon);
}