Angularfire:同步数组的行为

阿德里安

我在angularfire上遇到了与同步数组有关的问题。我在使用Firebase 2.3.1的angularfire 1.1.3上。我有一个查询

var arr = $firebaseArray(ref.limitToFirst(5));

我直到现在看到的行为是当我打电话时

arr.$remove(0)

查询将返回的下一个对象将自动加载到同步数组中。这实质上使数组成为查询响应上的滑动窗口-它始终具有相同数量的元素。

自上周以来,这种行为似乎已经改变,我得到了两种不同的情况:

1:arr确实加载了5个项目,但是调用了arr.$remove5次之后,该数组为空-这在JavaScript数组上是正常的行为,但是这并不是我以前在AngularFire同步数组上看到的。

2:或arr已加载但随后消失,即在代码中:

arr.$loaded(function(){
\\ break
})

如果我在回调中中断,arr确实有五个项目,对应于Firebase上的数据,但是在Angular摘要循环的末尾,arr是一个空数组。

演示: 此窃听器显示行为1

所以我的问题是:

  • 我所依赖的行为不是API的正式组成部分吗?
  • 这种行为改变了吗?
  • 什么解释了最后一点(firebase数组上有项目,$loaded但最后却为空?)

更新

行为2似乎在行为1之后发生-更准确地说:进入空的同步数组后,如果我重新加载页面,则在回调中得到非空数组,arr.$loaded最后得到一个空数组这是否意味着Firebase本身会“卡住”?我将尝试在the弹器中重现这一点。

格雷格·索尔蒂斯(Greg Soltis)

现在应该解决此问题。带来不便敬请谅解!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章