奥瑞利亚路由历史记录

4

如何让路由器忽略特定视图的历史记录,例如从登录视图移动到着陆页时,我希望登录视图不会出现在导航历史记录中(用户不能按下后退按钮返回到登录视图) 类似地,如果用户访问某个页面,并因为该页面需要身份验证而被重定向到登录视图(目前是通过流水线步骤完成的),则应维护历史记录,减少登录视图。


我认为这与以下内容相关:https://dev59.com/6VwX5IYBdhLWcg3wvBdj?rq=1 - Spiff
是的...我的情况比仅仅针对Aurelia的启动逻辑更为复杂。我目前采用的解决方案是添加一个管道步骤来检查已认证标记,如果未经授权就导航到登录页面。这就是“替换”的要求了,因为一旦经过身份验证,导航堆栈需要恢复,以排除对登录视图的任何引用。请参阅https://github.com/SpoonX/aurelia-authentication/blob/master/src/authorizeStep.js以获取实现。 - InquisitorJax
1个回答

3

好的,我找到了一个可能的解决方案,使用:

router.navigateToRoute(route, params, {trigger: true, replace: true}

当从登录视图(LoginView)导航到新页面时,关键是replace:true参数,该参数替换历史记录中的上一个视图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接