对于Angular 5,我在路由上遇到了麻烦。我的要求是,页面加载后,Student user
将立即重定向到Students page
,Teacher user
应该重定向到{ {1}}。
为此,我必须在页面加载后立即进行服务调用,然后确定要路由到的模块。谁能指导我如何实现此方案?任何链接/线索都将有所帮助。
答案 0 :(得分:0)
在主要组件中,您可以添加ngOnInit
生命周期,然后加载数据。然后,根据参数,您可以重定向到所需的任何页面。例如-
ngOnInit() {
this.yourService.GetData()
.subscribe(data => {
if(data.id === student){
this.router.navigate(['/student']);
}else{
this.router.navigate(['/Teacher']);
}
});
}
将路由器服务添加为构造函数中的依赖项注入。
答案 1 :(得分:0)
您可以使用canActivate根据条件浏览网址。
path: 'admin',
component: AdminComponent,
canActivate: [RoleGuard],
data: {role: 'Admin'}