Firebase的可观察数据未与异步管道一起显示

时间:2018-07-27 08:55:09

标签: angular typescript firebase observable

因此,我尝试基于Firebase的ID访问数据,该ID返回一个可观察值。我已经将其记录到控制台,并且Observable就在那里。问题是当我尝试使用异步管道显示数据前端时,什么也没显示。这是我访问所需数据的功能:

this.tenancy$ = this._tenancy.getUserCurrentTenancy().valueChanges();
    this.property$ = this.tenancy$.pipe(
      flatMap(tenancy => this._property.getPropertyById(tenancy.property_id).valueChanges()),
      map((property: any) => property)
    );

这是我尝试访问它的方法:

           <div class="rent-due">£{{(property$ | async)?.rent_pcm}}</div>

但是如上所述,没有显示任何内容。 作为一点额外的信息,我尝试了对整个div进行*ngIf="property$ | async as property"的操作,当我这样做时,整个div都会被删除。

1 个答案:

答案 0 :(得分:0)

我们的谈话之后,您应该将代码更改为:

this.tenancy$ = this._tenancy.getUserCurrentTenancy().valueChanges();

this.property$ = this.tenancy$.pipe(
  tap(console.log),
  map(tenancies => tenancies[0]),
  flatMap(tenancy => this._property.getPropertyById(tenancy.property_id).valueChanges()),
  tap(console.log),
);