vue中bus.$on事件被多次绑定

例子
vue中eventbus被多次触发(vue中使用eventbus踩过的坑)【bus.$on事件被多次绑定】

问题描述:只要页面没有强制刷新,存在组件切换,bus.$on方法会被多次绑定,造成事件多次触发

 
触发bus.$on中绑定的方法.png
 
bus.$on多次绑定.png

解决办法一:在每次调用方法前先解绑事件( bus.$off ),然后在重新绑定( bus.$on )

 
每次绑定前解绑bus.$on方法.png

解决办法二:注册的总线事件(Bus)要在组件销毁时(beforeDestroy/destroyed)卸载,否则会多次挂载,造成触发一次但多个响应的情况

 

beforeDestroy () {
        bus.$off("backUpLevel");
  }

 

posted @ 2020-04-23 11:27  ThisCall  阅读(1112)  评论(0编辑  收藏  举报