私は認証サービスを試しています。 私はこれを使用しています:angle2サービスのサービスコンストラクタから値を取得する方法
@Injectable()
export class AuthService {
authState: any = null;
constructor(private afAuth: AngularFireAuth,
private db: AngularFireDatabase,
private router:Router) {
this.afAuth.authState.subscribe((auth) => {
this.authState = auth;
});
}
// Returns true if user is logged in
get authenticated(): boolean {
return this.authState !== null;
}
認証された()関数は、ユーザーがログインしている場合でも、私に虚偽を与え続ける
私はコンストラクタでauthState(this.authState)をCONSOLE.LOGとき。 、私は値を取得しますが、コンストラクタの外でthis.authStateはnullです。私は間違って何をしていますか?
どのようにサービスを利用していますか?私はあなたがアプリレベルまたはコンポーネントレベルでプロバイダとして宣言していることを意味します。認証された機能にアクセスするコンポーネントコードを共有できますか? –
購読方法は非同期です。 subscribeが呼び出される前に認証されたメソッドを呼び出すと、falseが返されます。 –
@BunyaminCoskuner、これを解決する方法は何でしょうか? –