我正在构建“撤消删除”的逻辑 - 操作。为此,我使用事件总线将事件发送到两个不相关的组件,如下所示:
Undo.vue:
`EventBus.$emit(`confirm-delete-${this.category}`, this.item.id);`
event( this.category
) 的名称基于来自 parent ( ConfirmDeleteModal.vue
) 的 props,然后接收如下:
CategoryA.vue
created() {
EventBus.$on('confirm-delete-category-a', (id) => {
this.confirmDelete(id);
});
和
CategoryB.vue
created() {
EventBus.$on('confirm-delete-category-b', (id) => {
this.confirmDelete(id);
});
我的问题:由于某种原因,事件 forcategory-a
被发出和接收两次(category-b
工作正常)。我必须不断收听confirm-event
,因此在收到事件或仅收听后我无法删除事件监听器$once
。任何想法如何解决这个问题(也许使用 Vuex)?谢谢!