11
  • 如何检查我的“Forge”中的 .priority 值?
  • 根据文档,较小的 .priority 值位于较大的 .priority 值之前。如果我使用自纪元以来的秒数作为优先级,并且我希望最新的孩子出现在顶部,我应该将 .priority 设置为 1/秒吗?

接下来是优先考虑数字的孩子。它们按优先级(从小到大)按数字排序,然后按名称按字典顺序排序(a 到 z)。

  • 通过实验,我确定如果我将 .priority 设置为 java.util.Date#getTime,则在使用 prevChildName 进行排名时,年龄最大的孩子会出现在我的 Forge 中,但最新的孩子会出现在我的 Javascript on() 中。为什么是这样?
4

5 回答 5

5

您可以.priority通过 Forge 的“导出 JSON”在 json 中看到。

于 2013-04-03T13:50:50.473 回答
5

利用

snapshot.getPriority();

更多在 https://www.firebase.com/docs/javascript/firebase/setwithpriority.html

于 2013-12-18T12:15:20.877 回答
4

Forge 不提供它,但您可以从 JSON 格式中看到它:

https://YOURAPP.firebaseio.com/.json?print=pretty&format=export

于 2015-06-14T02:10:01.457 回答
2

现在在 Forge 中无法查看实际的优先级值,但孩子们将被正确排序。

如果您想要按时间倒序对项目进行排序,我建议只需将优先级设置为正常时间戳(或使用推送 - 它会自动对它们进行排序)。然后,您可以简单地向后渲染它们以实现您想要的相反顺序。例如,您可以在第一个元素之前插入新消息,而不是将新消息附加到应用程序列表的底部。

于 2013-04-02T06:15:57.493 回答
0

snapshot.exportVal()

将 DataSnapshot 的全部内容导出为 Javascript 对象。这类似于 val(),除了包含优先级信息(如果可用),使其适合备份您的数据。

导出格式是一个 Javascript 对象,其中添加了“.priority”条目到具有优先级的任何对象。对于具有优先级的原始值(字符串、数字或布尔值),该值被包装在具有“.value”和“.priority”属性的对象中。在没有优先级的原始值的情况下,返回原始值。

资料来源:https ://www.firebase.com/docs/web/api/datasnapshot/exportval.html

于 2015-02-08T22:26:11.283 回答