我有一个firebase数据库。一个名为/ config //的节点,它保存用户特定的数据。我现在想用一个汽车列表向userdata添加一个子树,比如/ config // cars /:
"config" : {
"NE5AwHcxKofMPKRCAvny5Re4MtG3" : {
"geburtstag" : "2017-06-04",
"nachname" : Mueller",
"cars" : {
"-Krr2-DC1uoqCvgVJhFL" : {
"name" : "Ford Mustang"
},
"-Krue4_5kJQhis-3Qg1X" : {
"name" : "Toyota Supra"
}
}
}
我创建了一个可观察到的绑定到/ config /
this.$ref = this.database.object('/config/' + uid);
this.data = this.$ref.subscribe();
我可以访问主配置节点的数据并用angular绑定它,但是汽车子节点上的ngFor不起作用。我是在构建错误的数据还是在这里需要某种映射?
html部分:
<ion-item *ngFor="let car of data.cars | async">
{{car.name}}
</ion-item>
答案 0 :(得分:1)
您要将data
分配给订阅,而应将其分配给可观察对象:
cars: FirebaseListObservable<any[]>;
this.cars = this.database.list(`/config/${uid}/cars`);
现在,您可以在自己的async
数据中调用ngFor
循环:
<ion-item *ngFor="let car of cars | async">
{{ car.name }}
</ion-item>