2017-10-19 64 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); 
    }); 
} 

希望您现在已经发现了解决方案。但是我想我会在别人找到你的帖子的时候把它放在这里。