垃圾
- 发布:2023-04-06 08:48
- 更新:2023-04-06 09:06
- 阅读:661
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 3.7.9
手机系统: Android
手机系统版本号: Android 11
手机厂商: 华为
手机机型: android
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
垃圾
垃圾
实际结果:
垃圾
垃圾
bug描述:
uni小程序sdk,两个vue页面都调用uni.onNativeEventReceive,定义相同的事件,一个页面redirectTo到另外一个页面,原生发送定义的事件后,两个页面都触发了。不是说redirectTo会关闭之前的页面吗,为什么还能收到?
星拾夜暝
redirectTo并不是完全关闭之前的页面,而是保留了页面栈中的前一个页面。在redirectTo之前调用的onNativeEventReceive依然会保留。为了解决这个问题,我们可以手动调用uni.offNativeEventReceive()取消之前的事件注册,或者在onNativeEventReceive事件中增加判断条件。
2023-04-06 09:07
z***@yeah.net (作者)
回复 星拾夜暝: 我找了很长时间才找到这个问题,uni.offNativeEventReceive()这个方法我在文档里也没搜到,最后加的判断条件,谢了
2023-04-06 11:14
星拾夜暝
回复 z***@yeah.net: 嗯嗯
2023-04-06 13:32