angularJS将异步数据绑定到ng-repeat orderBy

时间:2014-07-15 17:33:15

标签: javascript angularjs firebase

很抱歉,如果我的术语错误了。

我正在尝试在列表中显示日期显示的电影列表,可以由任一属性订购。我可以在使用本地JSON文件和$http时执行此操作,但是一旦转到异步实现,绑定就会失败。

以下是一个示例:http://jsbin.com/nelora/3/edit

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

  

AngularFire提供orderByPriority过滤器,将$ firebase返回的对象转换为数组。数组中的对象按优先级排序(如Firebase中所定义)。此外,数组中的每个对象都将定义一个$ id属性,该属性将对应于该对象的键名。

这里的关键是它将它转换为数组 - 然后您可以通过自己的过滤器对其进行排序,因为Firebase会返回对象,而不是数组。

<li ng-repeat="movie in movies | orderByPriority | orderBy:orderProp">
      {{movie.year}}—{{movie.title}}
 </li>

https://www.firebase.com/docs/angular/reference.html#orderbypriority