【问题标题】:How do I stop angularFire limiting number of key/values in an object to 100?如何停止 angularFire 将对象中的键/值数量限制为 100?
【发布时间】:2013-05-17 18:35:00
【问题描述】:

我填充了一个 Firebase 对象,使其具有 200 个键/值对,然后使用 ng-repeat 显示它。相关代码为:

<ul>
  <li ng-repeat='(n, inst) in db.instances'>Instance {{n}}: {{inst.status}}</li>
</ul>

<script type='text/javascript'>
  angular.module('blah', ['firebase']).controller(
    'BlahCtrl', function BlahCtrl($scope, angularFire) {
      angularFire('https://blahblahblah.firebaseio.com/', $scope, 'db', {});
    }
  )
</script>

加载页面似乎删除了前 100 个键/值对。

如何防止这种行为?

【问题讨论】:

  • 我看到了这个并被提醒了一个讨论,建议在这种情况下使用 angularFireCollection,而不是 angularFire。不过,我找不到那个讨论线程。因此,请持保留态度。

标签: angularjs firebase angularfire


【解决方案1】:

您可以将 url 或 Firebase 引用实例传递给 angularFire()angularFireCollection()。因此,首先创建一个 Firebase 实例并将limit() 设置为您想要的,然后将其传入而不是直接 url。

文档声明此版本的limit() 返回一个Firebase 实例,并且快速测试表明它有效。您还必须先致电startAt(),然后再致电limit()

我有这样的工作:

angular.module('blah', ['firebase']).controller(
  'BlahCtrl', function BlahCtrl($scope, angularFire) {
    var ref = new Firebase('https://blahblahblah.firebaseio.com/').startAt().limit(200);
    angularFire(ref, $scope, 'db', {});
  }
)

【讨论】:

    猜你喜欢
    • 2017-09-11
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    相关资源
    最近更新 更多