2017-09-18 12 views
1

レンダリングビューの前にリダイレクトする方法は?Angular4、レンダービューの前にリダイレクトしますか?

これは私のコードです:

constructor(private router: Router) { 
 
    if (/* some condition*/) { 
 
    window.history.back(); 
 
    } 
 
} 
 

 
//OR 
 

 
ngOnInit() { 
 
    this.router.navigate(['/']); 
 
}

現在のコードは、リダイレクトの前にビューが表示されていますか?

レンダリングビューの前にリダイレクトする方法は?

答えて

2

レンダリングが行われないようにcanActivate guardを実装し、必要に応じてcanActivateリダイレクトを実装する必要があります。

canActivate(
    route: ActivatedRouteSnapshot, 
    state: RouterStateSnapshot 
): Observable<boolean>|Promise<boolean>|boolean { 
    if (condition) { 
     this.navigate([somewhere]); 
     } 
     return true; 
    } 
関連する問題