如何使用离子3获取angularfirelist中的节点键或firebase中的angularfireobject。

时间:2018-02-18 15:23:55

标签: typescript ionic2 ionic3 angular5

Firebase Data Image

我正在尝试使用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,这是这些子节点的关键。 任何解决方案?

1 个答案:

答案 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>