我尝试将2个Firebase呼叫映射到一起。我正在使用AngularFire2和RXJS。 我得到一个ID的列表,我想获得具有该ID的对象
const path = `/lists/${auth.$uid}`;
this.lijsten = map.call(af.database.list(path), (vals: any[]) => {
return vals.map((m) => {
m.shapes = af.database.object(`/lists/${m.$key}`);
return m;
});
});
这不适用于额外的firebase调用。调用有效,但无法转换为JSON。如果我将它替换为String,它可以工作。 我从角度来自youtube视频得到了这个例子 https://youtu.be/ngnSOTSS8Q8?t=1h11m48s
但是当我使用这个例子时,我无法将其转换为json
lijsten | async | json
给出
在JSON.stringify()
中将循环结构转换为JSON
有更好的地图方法吗?
更新
我发现当我使用订阅时,它可以正常工作
af.database.object(`/lists/${m.$key}`).subscribe(
val => {
m.shapes = val;
});
但是,这仍然是最好的方式吗?
答案 0 :(得分:0)
您可以使用async
管道两次,一个用于list
可观察量,另一个用于object
可观察量。
<div *ngFor="let list of lijsten | async">
{{ list.shapes | async | json }}
</div>