美文网首页
vue中bus.$on事件被多次绑定

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

作者: 苦咖啡Li | 来源:发表于2018-08-17 11:07 被阅读0次
vue中eventbus被多次触发(vue中使用eventbus踩过的坑)【bus.$on事件被多次绑定】

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

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

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

 bus.$off("backUpLevel");
        bus.$on('backUpLevel', () => {
            if(self.ONION.length <= 1){ 
                self.jumpSubDir()
            }else{
                let len = self.ONION.length-1
                self.jumpTeamId(self.ONION[len].id,self.ONION[len].name,self.ONION[len].type)
            }
        })
每次绑定前解绑bus.$on方法.png

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

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

相关文章

网友评论

      本文标题:vue中bus.$on事件被多次绑定

      本文链接:https://www.haomeiwen.com/subject/pravbftx.html