[英]CanActivate not called after updating to Angular 12
我更新到 angular 12 並在開始時顯示白色/空白頁面。
這是因為我不再使用實現 CanActivate 的“RedirectGuard”中的 canActivate 方法。 這應該在路徑為空時發生。
我的路由:
const routes: Routes = [
{
path: '', redirectTo: '', pathMatch: 'full'
},
{
path: 'login',
loadChildren: () => import('./pages/login/login.module').then( m => m.LoginPageModule)
},
...
還有我的 RedirectGuard:
@Injectable({
providedIn: 'root'
})
export class RedirectGuard implements CanActivate {
constructor(
private router: Router,
private authStateQuery: AuthenticationStateQuery
) {}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) : Observable<boolean> | Promise<boolean> | boolean {
console.info('In RedirectGuard');
if (this.authStateQuery.isLoggedIn()) {
this.router.navigate(['/home']);
return true;
}
this.router.navigate(['/login']);
return false;
}
}
您的routes
定義不包括對警衛的任何引用。
在路線上需要以下內容:
canActivate: [RedirectGuard]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.