因此,我尝试基于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都会被删除。
答案 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),
);