Vue. js: EventBus вызывается несколько раз - PullRequest
0 голосов
/ 25 февраля 2020

Я строю логи c для действия «отменить удаление». Для этого я использую шину событий, чтобы отправить событие двум не связанным компонентам, например так:

Undo.vue:

`EventBus.$emit(`confirm-delete-${this.category}`, this.item.id);`

Название события (this.category): на основе реквизитов, исходящих от родителя (ConfirmDeleteModal.vue) и затем полученных следующим образом:

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); });

Моя проблема: По какой-то причине событие для category-a отправляется и получает дважды (category-b работает нормально). Мне приходится постоянно слушать confirm-event, поэтому я не могу удалить прослушиватель событий после того, как получил событие, или только прослушать $once. Есть идеи, как решить эту проблему (возможно, с Vuex)? Спасибо!

...