我正在使用AngularJs 1.2.8。这是我的问题:
我想使用过滤器来命令一个对象数组,并且发生了一件奇怪的事情。
当我使用没有任何过滤器的ng-repeat="thread in threads"
时,它会通过方兴未知来命令它。
当我使用ng-repeat="thread in threads | orderBy: '-':true"
时,它由后代命令。
问题在于:当我使用ng-repeat="thread in threads | orderBy: '-':false"
时,它无论如何都是由后代命令的。
谢谢大家。
答案 0 :(得分:1)
您是否尝试根据某个属性订购列表?通常,orderBy用于ng-repeat中每个项目中的属性:
降序基于示例属性标题
ng-repeat="thread in threads | orderBy: '-title'"
ng-repeat="thread in threads | orderBy: '-date'"
ng-repeat="thread in threads | orderBy: '-id'"
升序基于示例属性标题
ng-repeat="thread in threads | orderBy: '-title'"
ng-repeat="thread in threads | orderBy: '+date'"
ng-repeat="thread in threads | orderBy: '+id'"
orderBy上的Angular文档。请注意' +'或者' - '在单引号字符中附加属性名称的开头。
您还可以与名为query的自定义过滤器结合使用,也可以在带有ng-model =" query"的文本输入元素上使用。例如:
ng-repeat="thread in threads | filter:query | orderBy: '-title'"
让我知道这是否有助于或澄清问题,以确定thread
实体的属性以及您希望排序的属性。
订购索引:
<强>降序强>
ng-repeat="thread in threads | orderBy: thread.$index:true"
<强>升序强>
ng-repeat="thread in threads | orderBy: thread.$index:false"
的jsfiddle: