Wpis z mikrobloga

Mam problem problem z evenbusem w vue (wiem powinien być vuex), anomalia która dubluje event listenery w nawet momencie w którym odświeżam aplikacje this.router.go(0) - z moim obejściem działa bez odświeżania, gdy odświeżam f5 czegoś takiego nie ma, gdy wyłączam event.off() w destroyed to wcale nie działa, coś takiego załatwiło sprawę, ale dlaczego te listenery się mnożą?

#programowanie #javascript #vuejs
źródło: comment_1629099754c178dTjvvsge109Br3TTwd.jpg
  • 3
@Summar: Nie wiem czy ten twój guard (if) powinien zadziałać, ale z mojego doświadczenia z vue wynika, że jak binduje się eventbus w mounted to trzeba go usunąć w beforeDestroy, co więcej należy pamiętać by wtedy wynieść ciało funkcji do osobnej metody, by eventBus.$off mógł odnaleźć ta funkcję, czyli to będzie coś takiego:
'''
mounted(){
EventBus.$on(eventName, this.myHandler)
},
beforeDestroy(){
EventBus.$off(eventName, this.myHandler)
},
methods(){
myHandler (){
// do
}
}
'''