mik*_*eym 2 javascript json data-structures firebase firebase-realtime-database
我在从 Firebase 数据库创建和显示单独的节点时遇到了一些困难。
这是一个名为 的子节点的照片"Units",它在 Firebase 控制台中看起来,我希望在其下有单独的单个"Unit"节点(1,2,3...),每个节点都有自己的属性。
我不知道我做错了什么,但是当数据返回时null,每个新子节点的开头都有一个,导致数据在视图中迭代时显示不正确。
这是console.log数据返回时浏览器中的快照:
如您所见null,在实际数据之前,每个新嵌套节点的顶部都有一个。我想也许这与没有任何值的 (1,2,3) 节点有关,但是如果我给它们值,我就不能再在每个单元内嵌套数据。
我对 Firebase 比较陌生,所以如果我犯了一些基本错误,请原谅我。提前致谢!
当您使用数字属性名称时,Firebase 将查看您是否尝试存储数组。firebase.com 上的旧文档对此进行了说明:
当使用
val()或通过 REST api读取数据时,如果数据看起来像一个数组,服务器会将其呈现为一个数组。特别是,如果所有的键都是整数,并且对象中0到最大键之间的键有一半以上是非空值,则将其视为数组。
由于您的数据满足这些条件,Firebase 会将其作为数组返回。由于数组是基于 0 的,因此它添加了缺失的第 0 个元素。
为了防止这种情况,您有几个选择:
不要使用数字键,而是使用 Firebasepush()来生成您的密钥
不要使用数字键,通过一个常量字符串前缀你的号码:Unit1,Unit2,等
从 0 开始计数(来自 André Kool 的好建议)
好吧,这些真的是我能想到的唯一选择。
| 归档时间: |
|
| 查看次数: |
1179 次 |
| 最近记录: |