如何在渲染视图之前重定向?
这是我的代码:
constructor(private router: Router) {
if (/* some condition*/) {
window.history.back();
}
}
//OR
ngOnInit() {
this.router.navigate(['/']);
}
当前代码是在重定向之前显示视图吗?
如何在渲染视图之前重定向?
答案 0 :(得分:4)
您应该实施canActivate guard以阻止视图呈现,并在canActivate重定向到您想要的位置。
canActivate(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<boolean>|Promise<boolean>|boolean {
if (condition) {
this.navigate([somewhere]);
}
return true;
}