1
所有者だけがアクセスできるユーザー設定ページがあります。 CanActivateを使用して制限を実装したいと考えています。 CanActivateは、出力をブール値またはブール値のオブザーバブルにする必要があります。しかし、私のコードは、ブール値の観測値の観測値を出力します。ここでCanActivate:Observable ObservableをObservableに変換します。<boolean>をObservableに変更します。<boolean>
Type 'Observable<Observable<boolean>>' is not assignable to type 'boolean | Observable<boolean> | Promise<boolean>'.
私のコードに観察を平らにするために
@Injectable()
export class UserGuard implements CanActivate {
constructor(
private route: ActivatedRoute,
private userService: UserService
) { }
canActivate() {
const username = this.route.snapshot.paramMap.get('username');
return this.userService.authState().map(auth => {
return this.userService.getByUid(auth.uid).map(user => {
return user.username === username ? true : false;
});
});
}
}