这种情况是,在应用程序组件上,我检查用户是否已通过身份验证,如果未通过身份验证,则将用户重定向到具有登录页面的rest api调用。 当前代码在app.component.ts的结构上具有api重定向调用 所以发生的是 app.component的html页面加载1秒钟,然后发生重定向。 如何在屏幕上加载任何html(DOM元素)之前将用户重定向到其他api网址
答案 0 :(得分:0)
您可以使用canActivate
检查用户是否已在您的路线中登录例如:
app.module.ts
const appRoutes: Routes = [{
path: '',
component: HomelayoutComponent,
canActivate: [LoginGuardService]
}]
您的login-guard.service.ts
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
// Implement here your auth check logic
if (localStorage.getItem('jwtToken')) {
return true;
}
// not logged in so redirect to login page with the return url and return false
this.router.navigate(['login'], {
queryParams: {
returnUrl: state.url
}
});
return false;
}