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开始 , orderByfilter(请参阅文档 )将自动使用其项目对数组进行sorting,如果没有提供其他参数。

 <li ng-repeat="item in items | orderBy">{{item}}</li> 

JS斌

在1.3.0-rc.5之前

orderByfilter(请参阅历史文档 )也可以使用函数作为第二个参数,其返回值将使用<=>运算符进行比较。 你可以简单地使用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>