【问题标题】:key of the value is undefined with Firebase 4.5.2 and ionic 3Firebase 4.5.2 和 ionic 3 未定义值的键
【发布时间】:2017-11-30 06:27:36
【问题描述】:

我正在使用 ionic 3 和 firebase 4.5.2 来制作应用程序。我在 firebase 有一个项目,我想在我的列表“shoppingItems”中添加和删除一些值。我现在可以检索列表视图并添加项目。

我的数据库屏幕

我的问题我无法删除任务,因为我的值的 $key 未定义。 我的清单是这样的:

我的值包含在我的变量结果中(是对象项的数组:其中包含 2 个字符串值和键)。

谢谢

【问题讨论】:

    标签: angularjs firebase-realtime-database rxjs ionic3


    【解决方案1】:

    您使用的是哪个版本的 angularfire2?我一直在尝试学习 Angular,并在 angularfire2 v5.0 上运行时通过 CRUD 教程,我发现 valueChanges() 不返回任何元数据。

    以下信息来自位于 https://github.com/angular/angularfire2/blob/master/docs/version-5-upgrade.md 的 angularfire2 文档

    调用 .valueChanges() 返回一个没有任何元数据的 Observable。如果您已经将密钥作为属性保留,那么您就可以了。但是,如果您依赖 $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);
      });
    }
    

    希望您现在已经找到了解决方案。但我想如果其他人发现你的帖子,我会把它放在这里。

    【讨论】:

      猜你喜欢
      • 2019-04-05
      • 1970-01-01
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      相关资源
      最近更新 更多