vue3 mitt路由跳转后 on事件获取不到值的奇葩问题解决

vue3不再支持大家试用this 那原型链这种东西自然是要命了
好在我们还有第三方插件mitt
但这东西是真的坑啊
比如我们定义 EventBus.emit
然后马上进行路由跳转

 EventBus.emit('datas',Acquis);
 router.push('payment')

然后在下一个组件中试用

EventBus.on('datas',data => {
    console.log(data);
})

你会奇异的发现这个方法压根不会触发

这个时候估计就很蒙了

我们可以在全局中找

let srith;
EventBus.on('*',(index,data) => {
	if(srith !== index){
	    srith = index;
	    console.log(data)
	}else{
	    return
	}
})

这样就可以把所有存在mitt中的值输出出来
如果我们只想要datas
那就

let srith;
 EventBus.on('*',(index,data) => {
      if(index == "datas"){
          if(srith !== index){
              srith = index;
              console.log(data)
          }else{
              return
          }
      }else{
          return
      }
  })
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值