vue3 mitt路由跳转后 on事件获取不到值的奇葩问题解决
vue3不再支持大家试用this那原型链这种东西自然是要命了。比如我们定义EventBus.emit。这样就可以把所有存在mitt中的值输出出来。你会奇异的发现这个方法压根不会触发。好在我们还有第三方插件mitt。如果我们只想要datas。然后在下一个组件中试用。然后马上进行路由跳转。这个时候估计就很蒙了。
·
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
}
})
更多推荐
已为社区贡献17条内容
所有评论(0)