我正在尝试使用AngularFireList
获取我的firebase数据节点密钥Data.ts
getAddress(user){
this.AngularFireDatabase.list(`Profiles/Users/${user.uid}/address`);}
SendingData.ts
this.data.getAddress(user).valueChanges().subscribe(item=>{})
我得到了我在子节点中的所有内容,我怎样才能获得密钥?例如在图像中我有地址/家/在家里我有名字,lat,lng。在这里,我想获得Home,这是这些子节点的关键。 任何解决方案?
答案 0 :(得分:3)
如果你想获得密钥,你必须使用snapshotChanges()而不是valueChanges(),阅读Angularfire2 docs。
这是我的代码之一, 在TS文件中:
ParkingSpotList$: Observable<any[]>; // write this as global variable before constructor
this.ParkingSpotList$ = this.AFD.ShowParkingSpot().snapshotChanges().map(changes => {
console.log(changes)
return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }))
});
然后是HTML(我通过编写&#34获得密钥; PS.key&#34;):
<ion-list>
<ion-item *ngFor="let PS of ParkingSpotList$ | async" (click)="ReserveParkingSpot(PS.key)">
{{PS.PlateNo}}
</ion-item>
</ion-list>