话说 天不老,js难学,心似双丝网,中有千千结。在开发uni-app的时候,总会遇到的千奇百怪的问题,其中页面传值中有个需要相当注意的点,当然页面传值不止这种方式,作为一个uni-app 小白在使用时我也踩了这个坑,分享一下。
特别是在遇到以下这种情况的时候页面A 跳转页面B, 页面A中 $emit()事件,页面B$on监听事件,这时候就会发现明明事件发射了,但是页面B就是监听不到。
造成这种问题是因为发射事件在监听事件之前,打个比喻,类似于汽车撞墙了你知道拐了,股票涨了你知道买了,犯错误判刑了你知道悔改了,鼻涕都流到嘴里了你才知道要甩了。 嗯嗯,真是形象。
解决办法:
只要保证在$emit事件之前能保证已经在监听$on 就能解决,但是上面的业务场景明显办不到,所以可以使用 localStorage 或者uniapp中 getApp() 等的方式将要传递的东东暂存,就可以实现以上场景。