$emit在第一次页面跳转时,无法触发另一个页面的$on事件

场景:

A页面先$emit触发B页面的$on方法,再跳转到B页面。

结果:

第一次跳转无法触发到$on监听的方法,返回A页面再执行就能触发。

$on是一个注册行为,事件需要在注册后,才能被emit触发。

在A页面第一次$emit时,在B页面的$on还没有注册,$emit先于$on执行,自然就无法触发到监控事件。

解决方法:

在第一次跳转时,给$emit事件加一个setTimeout(),让A页面的$emit延迟到$on方法后执行。

猜你喜欢

转载自www.cnblogs.com/Naiky/p/12502499.html