사용자가 로그인 할 때 $ key가 auth.uid 인 My Firebase 데이터베이스의 '/ users/$ key'url에서 currentUser FirebaseObjectObservable로 사용자 데이터를 가져오고 싶습니다. 로그 아웃하면 currentUser는 자동으로 null이됩니다.AngularFire2에서 사용자가 로그인 할 때 (인증이 null이 아님) 객체를 가져 오는 방법은 무엇입니까?
필자는 내 템플릿에서 비동기 파이프를 사용해야하지만 아직 로그인 한 후에 만 currentUser 데이터를 가져올 수 있으며 로그 아웃 한 후에도 메모리에 남아 있습니다 (내가 한 것처럼). auth 객체가 null이되면 자동으로 null이되도록하고 싶습니다.
import { Component } from '@angular/core';
import { AngularFire, FirebaseObjectObservable } from 'angularfire2';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
currentUser : FirebaseObjectObservable<any>;
constructor(public af: AngularFire) {
this.af.auth.subscribe(auth => {
console.log(auth);
this.currentUser = af.database.object('/users/' + auth.uid);
});
}
}
내 템플릿에이 같은 것을 사용하는 것이 괜찮을 것 {{(currentUser | async)?.email}}
Observables은 지식의 나의 부족 문제는 여기에있다,뿐만 아니라 AngularFire 인증 개체는/내가 이해에서 관찰 가능한 rxjs 다르다 .
업데이트 :
이 내가 그것을 해결 한 방법입니다
constructor(public af: AngularFire) {
this.af.auth.subscribe(auth => {
console.log(auth);
if(auth)
this.currentUser = af.database.object('/users/' + auth.uid);
else
this.currentUser = new FirebaseObjectObservable<any>();
});
}
아직 잘 나 생각하지 않습니다. 이런 식으로해도 괜찮습니까?