我的名字如下:
Name - Page 9
Name - Page 2
Name - Page 6
Name - Page 15
Name - Page 1
Name - Page 12
Name - Page 14
Name - Page 13
Name - Page 10
Name - Page 11
目前我在做:
<div ng-repeat="data in results | orderBy:'-name'">
{{ data.name }}
</div>
但它没有考虑到数字的顺序。
有谁知道如何确保根据数字订购?
答案 0 :(得分:0)
它应该按预期工作。检查我创建的这个plunker。 Plunker Code
编辑:要处理两位数,您可以编写自定义排序函数,如下所示:
$scope.myValueFunction = function(value) {
var numpart = value.name.replace( /^\D+/g, '');
return -(numpart-1000);
}
这样做是提取数字部分并使其成为可排序的数字。您可以删除前面的-ve符号以获得升序。
然后在你的html中,你可以像这样调用这个函数:
<tr ng-repeat="friend in friends | orderBy:myValueFunction">
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
</tr>