如何让路由器导航额外 "replaceUrl" 正常工作?
How do I get the Router navigate extra "replaceUrl" to work correctly?
我有一个联系人添加表单,可以从我们应用程序的多个屏幕导航到该表单。
提交表单后,我会将用户带到一个屏幕以查看已添加的联系人。
当用户随后使用后退按钮时,它应该将他们带回到他们来自的屏幕。
这可能是 Android 后退按钮或调用 RouterExtensions
后退功能的按钮。
我在从表单导航到视图页面时使用了额外的导航功能 replaceUrl
。
我也曾尝试在导航到表单时使用 skipLocationChange
extra,但这会产生更多问题。
我创建了一个简单的 playground 页面流,它产生了不完全相同的问题,但确实抛出了一个我不知道如何处理的错误:
https://play.nativescript.org/?template=play-ng&id=BfVcGZ&v=2
在我们的应用程序中,通过使用 replaceUrl
extra,后退按钮确实会将用户带到正确的页面。
但是,有一小会儿他们又看到了表格。这不是理想的用户体验。
在链接的 Playground 中我确实收到错误:
Cannot reattach ActivatedRouteSnapshot created from a different route.
这似乎告诉我 replaceUrl
确实正在从路由 table 中删除页面。
但是,该页面尚未销毁,因此该应用正在尝试显示它不应该显示的页面。
Page Router Outlet 尚不支持 replaceUrl
,有一个 open feature request,您可能想对该功能进行投票并跟进那里以获取进一步的更新。
我有一个联系人添加表单,可以从我们应用程序的多个屏幕导航到该表单。
提交表单后,我会将用户带到一个屏幕以查看已添加的联系人。
当用户随后使用后退按钮时,它应该将他们带回到他们来自的屏幕。
这可能是 Android 后退按钮或调用 RouterExtensions
后退功能的按钮。
我在从表单导航到视图页面时使用了额外的导航功能 replaceUrl
。
我也曾尝试在导航到表单时使用 skipLocationChange
extra,但这会产生更多问题。
我创建了一个简单的 playground 页面流,它产生了不完全相同的问题,但确实抛出了一个我不知道如何处理的错误:
https://play.nativescript.org/?template=play-ng&id=BfVcGZ&v=2
在我们的应用程序中,通过使用 replaceUrl
extra,后退按钮确实会将用户带到正确的页面。
但是,有一小会儿他们又看到了表格。这不是理想的用户体验。
在链接的 Playground 中我确实收到错误:
Cannot reattach ActivatedRouteSnapshot created from a different route.
这似乎告诉我 replaceUrl
确实正在从路由 table 中删除页面。
但是,该页面尚未销毁,因此该应用正在尝试显示它不应该显示的页面。
replaceUrl
,有一个 open feature request,您可能想对该功能进行投票并跟进那里以获取进一步的更新。