2017-09-18 3 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; 
    }