gpt4 book ai didi

javascript - Angular 应用程序启动时路由到不同的组件

转载 作者:行者123 更新时间:2023-12-01 02:18:49 24 4
gpt4 key购买 nike

我有一个 Angular 应用程序。当用户登录时,我想根据用户的 Angular 色显示不同的用户界面。用户可以只是客户管理员

在我的路由模块中,我有以下内容

        {path: '', redirectTo: 'admin-portal' , pathMatch: 'full'},
{path: 'admin-portal', component: AdminPortalComponent, canActivate: [AuthGuard]},
{path: 'customer-portal', component: CustomerPortalComponent, canActivate: [AuthGuard]}

我希望能够从本地存储中获取变量并使用它来决定在应用程序加载时将用户重定向到哪里。我正在考虑有一个像 {path: '', redirectTo: 1===1 这样的条件? '管理门户':'客户门户',pathMatch:'完整'}

最佳答案

你创建另一个守卫并将条件放入其中

    @Injectable()
export class LoadGuard implements CanActivate {
constructor(private router: Router) {

}

canActivate(next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
if(1===1){
this.router.navigate(['admin-portal']);
return false;
}else{
this.router.navigate(['customer-portal']);
return false;
}

}
}

然后在 route

{path: '', pathMatch: 'full',component: sampleComponent, canActivate: [LoadGuard]}

关于javascript - Angular 应用程序启动时路由到不同的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49343716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com