Показать displayName в Angular 8 из Firebase - PullRequest
0 голосов
/ 20 июня 2019

У меня проблема с отображением свойства displayName из моего файла component.ts (для тестирования в console.log), но все же оно отлично работает из шаблона.

component.ts:

 constructor(
    private fb: FormBuilder,
    private auth: AuthService
  ) { }
  ngOnInit() {
    this.buildForm();
    console.log(this.auth.user.displayName); // this line is the problem
  }

Но все же, это прекрасно работает в шаблоне:

component.html

{{ user.displayName }}

И в случаеВам нужно больше информации об услуге ...

auth.service.ts

export class AuthService {

  user: Observable<User>;

  constructor(
    private afAuth: AngularFireAuth,
    private afs: AngularFirestore,
  ) {
    //// Get auth data, then get firestore user document || null
    this.user = this.afAuth.authState.pipe(
      switchMap(user => {
        if (user) {
          return this.afs.doc<User>(`users/${user.uid}`).valueChanges();
        } else {
          return of(null);
        }
      })
    );
  }
...