1
내가이 일을 나던 각도에서 CanActivate 가드를 사용하기 위해 노력하고있어 작동 다만 수행하면 canActivate
각도 4 서비스와 함께 사용되는 가드로드 구성 요소를 활성화 할 수 없습니다. (참) 간단한 Observable.of 내가 어떤 서비스를 호출하지 말아 때의 서비스와 <code>return true</code>도 <code>return Observable.of(true);</code></p> <p>그러나 작동 및로드 구성 요소를 호출 할 때
에 Observable.of(true);
이다 작성한 코드 doenst 일 :
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
//return Observable.of(true);
return this._userService.verify().subscribe((result: Array<Object>) => {
let user : UserDetail = new UserDetail();
Object.keys(user).forEach(key=>{
let listValue = result.filter(m=>m["m_type"]==key);
if(listValue.length>0){
user[key] = result.filter(m=>m["m_type"]==key)[0]["m_value"];
}
});
this.userDetails = user;
return Observable.of(true);
//return true;
}, (error: any) => {
// error when verify so redirect to login page with the return url
this._router.navigate(['/login'], { queryParams: { returnUrl: state.url } });
return true;
},() => {
console.log("auth.guard : completed.");
//return true;
return Observable.of(true);
});
코드 다음은 작동합니다
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
return Observable.of(true);
});