Vue.js: 이벤트버스가 여러 번 호출됨
178,667원 -
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
송신과 수신을 2회 실시합니다(category-b
정상적으로 동작합니다).저는 이 노래를 들어야 해요.confirm-event
지속적으로 이벤트를 수신한 후 이벤트 청취자를 제거할 수 없거나 청취만 할 수 없습니다.$once
Vuex를 사용하여 이 문제를 해결할 수 있는 방법이 있습니까?감사합니다!
저도 같은 문제에 직면해 있었고, 몇 가지 조사 끝에 이 해결책을 찾았습니다.
컴포넌트(카테고리 A)를 정의했습니다.vue) 어플리케이션에서 두 번 실행되어 기능이 두 번 실행됩니다(이 경우 카테고리 A).표시하다
솔루션:created() Like 뒤에 destrated()를 호출해야 합니다.
created() {
EventBus.$on('confirm-delete-category-a', (id) => {
this.confirmDelete(id);
}),
destroyed() {
EventBus.$off('confirm-delete-category-a');
},
언급URL : https://stackoverflow.com/questions/60390944/vue-js-eventbus-being-called-multiple-times
'programing' 카테고리의 다른 글
Tomcat, JBoss, Glassfish의 차이점은 무엇입니까? (0) | 2022.06.03 |
---|---|
현지화된 텍스트에서 vue별 지시어를 사용할 수 있습니까? (0) | 2022.06.03 |
플로트와 더블의 차이점은 무엇입니까? (0) | 2022.06.02 |
C 멀티라인 매크로: do/while(0) vs 스코프 블록 (0) | 2022.06.02 |
어레이의 최대 사이즈가 너무 큰 이유는 무엇입니까? (0) | 2022.06.02 |