HarmonyOS router若干问题
问题一:router栈的上限为32,app内的页面跳转可能会超过32,这上限可以突破吗?
问题二:栈内有A-B-C时,在C内调用方法以下方法回到了B内,但在B内无法通过router.back()返回A,这是为什么?有解决方法吗? router.replaceUrl({ url: B }, router.RouterMode.Single)
补充说明:回到B内后,从B开始跳转了新页面,也同样不能通过router.back()回到上一页。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS router跳转问题
907浏览 • 2回复 待解决
HarmonyOS router 返回问题
685浏览 • 1回复 待解决
HarmonyOS router携带参数问题
308浏览 • 1回复 待解决
HarmonyOS router路由跳转问题
966浏览 • 0回复 待解决
关于import router from '@system.router'提示问题?
5550浏览 • 1回复 待解决
HarmonyOS router和navigaiton混用问题
191浏览 • 1回复 待解决
HarmonyOS Nav和Router功能问题
384浏览 • 1回复 待解决
HarmonyOS router.getParams()清空问题
548浏览 • 1回复 待解决
HarmonyOS router路由路径的问题
771浏览 • 1回复 待解决
HarmonyOS router传参获取问题
871浏览 • 1回复 待解决
router.getParams使用问题
1389浏览 • 1回复 待解决
router 路由跳转相关问题
750浏览 • 1回复 待解决
router传递hashmap参数问题
2024浏览 • 1回复 待解决
HarmonyOS router.back返回页面问题
426浏览 • 1回复 待解决
HarmonyOS 关于navigation和router的问题
368浏览 • 1回复 待解决
HarmonyOS 关于router.back问题的咨询
852浏览 • 1回复 待解决
HarmonyOS router打开har下页面的问题
617浏览 • 1回复 待解决
HarmonyOS router.getParams对象类型判断问题
666浏览 • 1回复 待解决
router、Navigation混合使用存在问题,后续HarmonyOS如何规划的
710浏览 • 1回复 待解决
HarmonyOS 使用router.back返回时,传递参数的问题
1283浏览 • 1回复 待解决
HarmonyOS router.back方法的传参和返参问题
511浏览 • 1回复 待解决
HarmonyOS 关于router.pushNamedRoute还要引用对应的类这个问题。
621浏览 • 1回复 待解决
HarmonyOS router.replaceUrl
524浏览 • 1回复 待解决
HarmonyOS router回退异常
244浏览 • 1回复 待解决
HarmonyOS router转Navigation
183浏览 • 1回复 待解决
问题一:在HarmonyOS中,页面路由栈的上限为32页面。这是为了确保系统的稳定性和性能优化。如果在应用内的页面跳转过程中超过了这个上限,是无法继续添加新的页面的。具体来说:HarmonyOS的页面路由栈支持的最大Page数量为32。当页面栈内的页面数量达到32时,无法再添加新的页面。
因此,在进行页面跳转时,需要合理管理页面栈,确保不会超过这个上限。虽然页面栈有上限,但可以通过其他方式来实现页面之间的跳转和管理,例如使用导航组件和模态转场来实现更灵活的页面切换。
参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/6_40_u6a21_u6001_u8f6c_u573a_u8bbe_u7f6e-V5
问题二:在页面 C 中调用 router.replaceUrl 方法回到 B 后,无法通过 router.back() 返回 A。 router.replaceUrl 方法是替换当前页面,这意味着当前页面(C)被替换为新的页面(B),因此在栈中不存在 C 了。这会导致当前页面 C 被替换成 B,栈中不再包含 C。
所以,当在页面 B 时,router.back() 无法返回到 A,因为 A 已经不在栈中了。
要解决这个问题,可以考虑以下方法:
1、使用 router.push 而不是 router.replaceUrl
2、通过页面参数传递状态,在页面跳转时传递状态参数,以便在页面 B 中知道从哪里跳转过来,必要时可以手动处理返回逻辑。例如: