2017-10-19 61 views
0

我使用離子3和firebase 4.5.2作出申請。我在firebase中有一個項目,我想在我的清單「shoppingItems」中添加和刪除一些值。我現在可以檢索列表視圖並添加項目。價值的關鍵是未定義與Firebase 4.5.2和離子3

屏幕我的數據庫的

enter image description here

我的問題,因爲我的價值$關鍵是不確定的,我不能刪除任務。 我得到我的名單如下:

enter image description here

我的價值觀都包含在我的變量結果(是對象項目的數組:包含2字符串值和鍵)。

感謝的

回答

1

你正在使用什麼版本的angularfire2?我一直在嘗試學習Angular,並在angularfire2 v5.0上運行時通過CRUD教程,我發現valueChanges()不會返回任何元數據。

以下信息從位於angularfire2文檔在https://github.com/angular/angularfire2/blob/master/docs/version-5-upgrade.md

調用.valueChanges()返回一個可觀察到沒有任何元數據收集。如果你已經堅持把鑰匙當作財產,那麼你很好。但是,如果您依賴$ key,則需要使用.snapshotChanges()並使用可觀察的.map()來轉換數據。

該文檔也提供了一個示例。

constructor(afDb: AngularFireDatabase) { 
    afDb.list('items').snapshotChanges().map(actions => { 
    return actions.map(action => ({ key: action.key,...action.payload.val() })); 
    }).subscribe(items => { 
    return items.map(item => item.key); 
    }); 
} 

希望您現在已經發現瞭解決方案。但是我想我會在別人找到你的帖子的時候把它放在這裏。