【问题标题】:How do you pass a variable limit into a Backbone.Firebase.Collection?如何将变量限制传递给 Backbone.Firebase.Collection?
【发布时间】:2014-01-30 11:14:02
【问题描述】:

此处的 firebase 文档 (https://github.com/firebase/backfire#backbonefirebasecollection) 提到您可以对 Backbone.Firebase.Collection 应用限制:

var Messages = Backbone.Firebase.Collection.extend({
  firebase: new Firebase("https://<your-firebase>.firebaseio.com").limit(10)
});

我想将这个限制设为一个变量 - 所以我有时可以显示集合中的 10 条记录,有时可以显示 100 条(例如)。

谁能推荐实现这一目标的最佳方法?

【问题讨论】:

  • 在这种情况下,您最好的选择是简单地创建一个具有新限制的新集合。将限制应用于 Firebase 引用后,动态更改限制并不容易。
  • 感谢@Anant 的建议 - 我想我不会使用骨干集成来检索记录 - 不过感谢您的反馈!
  • 我很想看到这个功能在 Firebase 中实现。如果没有不必要地重新请求和重绘没有真正改变的元素,基本上就无法进行无限分页——除非有一种方法可以为现有集合分配新的 firebase 引用。

标签: javascript backbone.js firebase backfire


【解决方案1】:

Firebase 现在支持查询限制,使用 limitToFirst 或 limitToLast

以下代码将获取前 2 条记录。

var ref = new Firebase("https://dinosaur-facts.firebaseio.com/"); ref.orderByChild("height").limitToFirst(2).on("child_added", function(snapshot) { console.log(snapshot.key()); });

文档中的更多信息:https://www.firebase.com/docs/web/api/query/limittofirst.html

【讨论】:

    猜你喜欢
    • 2012-06-17
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 2018-12-28
    • 2011-04-12
    • 2017-01-24
    • 2018-05-17
    相关资源
    最近更新 更多