【问题标题】:Length of objects in Firebase listFirebase 列表中对象的长度
【发布时间】:2018-04-18 20:41:38
【问题描述】:

我有下一个 Firebase 数据库结构:

posts
    | 
    post
       |
       comments
              | comment 1
              | comment 2

这是帖子的集合,每个帖子都有一个cmets的集合。我想在帖子中输出 cmets 的数量:

<ng-container *ngIf="post$ | async; let post">
    {{ post.comments?.length }}
</ng-container>

但这不起作用。我做错了什么?

【问题讨论】:

  • 如果只插入 {{ post.cmets}} 和 {{ post}} 会看到什么?
  • @ForestG 我可以获取任何帖子字段,甚至是 cmets,但 .length 不起作用。

标签: angular firebase firebase-realtime-database angularfire2


【解决方案1】:

您确定您所写的是 Firebase 保存数据的方式吗? 它们不能将列表保存为数组,但通常会将它们转换为以索引为键的映射。

因此,您的post.comments 可能不是数组而是地图。尝试使用大小而不是长度。 如果它不是地图而是对象(我不确定),您应该改用Object.keys(post.comments).size

【讨论】:

  • 这是它在数据库中的样子:prntscr.com/j6vq46{{ (post.comments)?.size }} 也不行
  • 那么我想当你检索你的post 对象时,它会是一个Objectpost.comments。然后Object.keys(post.comments).keys() 应该给你一个Array 的键(要清楚,-LaGk....),它是一个Array 有一个属性长度
猜你喜欢
  • 1970-01-01
  • 2021-04-15
  • 2015-03-24
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多