引用firebase中的子数据

时间:2017-06-23 15:02:58

标签: javascript angular firebase firebase-realtime-database ionic2

firebase data structure

我需要从firebase数据库中获取数据(检查数据结构快照的链接)我能够获得" dueDate"的数据。通过{{currentBill?.dueDate}},但不知道如何获取其上方的其他项目的数据。以下是用于获取数据的代码:

ionViewDidEnter(){
  this.firebaseData.getBillDetail(this.navParams.get('billId'))
  .on('value', snapshot => {
    this.currentBill = snapshot.val();
    this.currentBill.id = snapshot.key;
  });

}

另外我不想重构数据结构......我无法找到对密钥的引用。我正在使用Ionic的Angular

1 个答案:

答案 0 :(得分:1)

要更彻底地回答您的问题,您可以将console.log(snapshot)的输出添加到您的问题中,以便更好地进行调试。

我很好奇如果快照中存在数据,您可以使用console.log(snapshot)来验证。如果可用,您可以执行以下操作来获取其他项目:

snapshot.forEach((billSnapshot) => {
  console.log(billSnapshot.val());
});

这可能会指向更正确的方向,你可以使用这样的东西:

snapshot.forEach((billSnapshot) => {
  console.log(billSnapshot.val());
  switch(billSnapshot.key) {
  case 'dueDate': 
    this.bill.dueDate = billSnapshot.val(); 
    break;
   // Add here other variables you know the name of
  default:
    //Push all the unknown keys to an array you can use later 
    //on your bill object
    this.bill.keys.push(billSnapshot.val())
  }
});

希望这有助于指出正确的方向,