如何停止angularFire将对象中键/值的数量限制为100?

时间:2013-05-17 18:35:01

标签: angularjs firebase angularfire

我填充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个键/值对。

如何防止此行为?

1 个答案:

答案 0 :(得分:6)

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

文档声明此版本的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', {});
  }
)