我已经使用 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/