orderBy Angular ng-repeat中的数组项目值
我怎样才能得到Angular的ng-repeat
指令来按每个项目的实际值sorting列表,而不是按每个项目上的属性值?
例如:
<ul> <li ng-repeat="item in items | orderBy:'WHAT_GOES_HERE??'">{{item}}</li> </ul>
这是一个小提琴玩: http : //jsbin.com/okatur/1/edit
我意识到我可以在数组上做.sort()
,但这是我唯一的select吗?
自1.3.0-RC.5以来
从AngularJS 1.3.0-rc.5开始 , orderBy
filter(请参阅文档 )将自动使用其项目对数组进行sorting,如果没有提供其他参数。
<li ng-repeat="item in items | orderBy">{{item}}</li>
JS斌
在1.3.0-rc.5之前
orderBy
filter(请参阅历史文档 )也可以使用函数作为第二个参数,其返回值将使用<
, =
和>
运算符进行比较。 你可以简单地使用angular.identity
(见文档 )来达到这个目的:
$scope.identity = angular.identity;
<li ng-repeat="item in items | orderBy:identity">{{item}}</li>
JS斌
你可以试试以下。
<ul> <li ng-repeat="item in items | orderBy:'toString()'">{{item}}</li> </ul>