J'ai un parent dans lequel je peux ajouter dynamiquement des composants enfants.
Lorsque le composant enfant est ajouté dans le support, j'enregistre un écouteur pour un événement.
EventBus.$on('content-type-saving', function() {
logic here...
}
Le problème est que, lorsque ce composant est supprimé dans le parent en le retirant du tableau des composants enfants, ce même composant se déclenche toujours et le code qu'il contient est exécuté.
Comment puis-je éviter que cela ne se produise ? J'ai essayé ceci
beforeDestroy() {
//do something before destroying vue instance
EventBus.$off('content-type-saving')
}
mais cela a désactivé l'événement pour tous les autres composants enfants également, de sorte que ceux qui étaient encore actifs ne feraient plus rien de logique parce que j'ai désactivé l'événement dans le composant enfant détruit.
Je pensais que si je désactivais un événement, cela n'affecterait que l'écoute de cet événement pour ce composant enfant et non l'événement pour tous les composants enfants.
Comment empêcher les composants détruits de réagir aux événements ?