angular - 有没有办法跳过 Angular 中的某些路线?

标签 angular

我已经使用 Angular 一段时间了。
但是有一个功能我仍然没有想出如何实现。
假设您已经在 Angular 中创建了一个考试网站。
当用户在网站上注册时,他/她将拥有他们可以参加的考试 list 。
单击任何考试,他们将一次看到 1 个问题,然后相应地回答。
最后,他们看到了结果。
此时,如果用户使用浏览器返回或返回,那么他/她将看到最后一个问题,他们可以更新它。以类似的方式,他们将能够更新所有答案,直到他们得到 100%。这是错误的。
我想要实现的是,如果您从结果屏幕返回浏览器,他们必须一直返回到检查列表。这样他们就不会改变任何答案。
注意:我可以使用 canDeactivate Gaurd 来阻止他们改变路线。但是对于浏览器后退 Guards 并没有被调用,甚至我也不希望它把用户卡在中间而别无选择,只能继续。
我希望用户从屏幕 A 到屏幕 B,从屏幕 b 到屏幕 c,当用户单击或从屏幕 c 触发返回 Action 时,他应该带他到屏幕 A。

最佳答案

尝试像这样实现

this.router.navigateByUrl('question(1-n)', { skipLocationChange: true }).then(() => {
                this.router.navigate(['result'], { replaceUrl: true });
            });

关于angular - 有没有办法跳过 Angular 中的某些路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66476018/

相关文章:

html - 如何将数值绑定(bind)到 CSS 以创建时间轴?

angular - Ionic3 的拍手计数时刻问题

angular - 复杂的 TypeScript 循环依赖问题

angular - 从共享文件夹导入 Angular 自定义管道时出错

javascript - TypeScript for 循环中数组中未定义的项目

javascript - Angular 2 twitter Bootstrap sidemenu不折叠

angular - 使用 RXJS 继续以 Angular 触发 http 调用,直到满足条件

javascript - 如何在 Angular 5+ 中将 JavaScript 附加到 div?

jquery - Angular JS 2 - Bootstrap 导航栏下拉菜单不起作用

angular - 服务命令需要在 Angular 项目中运行 - Azure 应用服务(.NetCore 和 Angular 应用程序)