路由跳转的时候,怎么等待HarmonyOS 鸿蒙Next页面的返回
路由跳转的时候,怎么等待HarmonyOS 鸿蒙Next页面的返回
如下关键代码
我想等待从登录页面返回后,再执行return isLoginSuccess来返回登录结果
但实际情况是:跳转到登录页面的同时,就执行return isLoginSuccess 了。
await router.pushUrl({ url: “pages/login/login_view” }) let isLoginSuccess = (router.getParams() as Map<string, boolean>)[‘isLoginSuccess’] as boolean return isLoginSuccess
4 回复
也许可以换个思路,使用eventHub,当登录成功时发送isLoginSuccess
使用 eventHub
A 打开了 B 页面
然后 A 去监听 B 页面等否登录完成
可以通过使用@ohos.events.emitter来对想要的结果进行发射,然后接收后执行方法
在HarmonyOS鸿蒙Next中,路由跳转并等待页面返回通常涉及页面栈管理和异步处理。你可以使用router.pushUrl()
进行页面跳转,并在目标页面处理完毕后,通过返回键或调用router.back()
返回到原页面。由于页面跳转和返回是异步操作,你可能需要在目标页面设置回调或使用全局状态管理来同步状态。
确保在目标页面执行完必要操作后,通过router.back()
触发返回。如果需要在原页面获取返回结果,可以考虑使用全局变量、事件总线或状态管理库来同步数据。
如果问题依旧没法解决请加我微信,我的微信是itying888。