无法从 Firebase 获取对象值

Can't get object values from Firebase

在 Angular 5 + Firebase (AngularFire) 项目中我有服务 Current,我从 Firebase RDB 获取当前用户数据:

  export class CurrentService {

  public current;

  constructor(
    private authFb: AngularFireAuth,
    private db: AngularFireDatabase
  ) {
    this.isLoggedIn().pipe(
      tap(user => {
        if (user) {
          this.current = this.db.object(`users/${user.uid}`)
          .valueChanges()
        } else {
          this.current = null;
          console.log("no")
        }
      })
    )
    .subscribe()
  }

  isLoggedIn() {
    return this.authFb.authState.pipe(first())
  }
}

在视图中我想绑定 current 值:

{{ currService.current?.username }}

但它 return null。奇怪的是,当我绑定 {{ (currService.current | async) | json }} 时,它的 return 完整对象的字段和值采用 json 格式。我做错了什么?

您还必须使用 async 管道:

{{ (currService.current | async)?.username }}