свойство пользователя angular ngrx / store authguard неопределенная проблема - PullRequest
0 голосов
/ 26 сентября 2018

Я создаю приложение на angular, которое использует ngrx / store для управления состоянием, и в нем есть пользовательский объект как часть состояния.

Класс пользователя </p> <pre><code>export class User { constructor ( public email: string ) {} get is_signed_in(): boolean { return this.email !== ''; } }

AuthGuard: </p> <pre><code>export class AuthGuard implements CanActivate { private user$: Observable<User>; constructor( private service: UserService, private router: Router ) { this.user$ = service.user$; } canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { return Observable.create((observer: NextObserver<boolean>) => { this.user$.subscribe((user: User) => { console.log('authguard', user); console.log('authguard', user.email); console.log('user.is_signed_in', user.is_signed_in); if (!user.is_signed_in) { console.log('redirecting to signin page'); this.router.navigate( ['user', 'signin'], { queryParams: { url: state.url } } ); } observer.next(user.is_signed_in); observer.complete(); }); }); } }

, но в классе authguard свойство user.is_signed_in не определено.Почему?

...