是否可以用angular 9 routing来管理一个如下所述的scenarious?
有三个页面(A、B、C)。用户进入A页(这是一个注册页面),然后他插入注册数据,他进入第二页(B),他必须插入一个确认代码。我希望用户可以从这个页面向前(C页)和清除历史记录(a和b页没有更多的返回功能),但他可以回到A页。
A -> B -> C [当在C中时,A和B不可用]A -> B -> A [当在B中时,我可以在A中返回] 。
先谢谢了。
有多种方法可以做到这一点。下面提到其中的两种。
location.history
API。rxjs/subject
其中包含 isRoute
数据。在下一页中实例化它(在 B
). 检查数据&执行路线。我个人比较喜欢第2种。要做到这一点。
1)用你喜欢的名字生成一个服务。
2) 在服务中,创建一个主题,将存储我们的路线的数据(isAllowed)(初始设置为true)。
3) 在您的页面中 B
在构造函数中把它作为私有类变量访问,同时也作为路由的路由器。
constructor(private service: ServiceName, private router: Router) {}
4) 检查值是否为 isAllowed
是真的还是假的,通过认购 isAllowed
subject
. 如果没有,则路由到首选组件。
this.service.isAllowed.subscribe({isAllowed} => {
isAllowed ? this.router.navigate("component path here") : false
})