假设我有这个对象:
var rows = [
[1, 2, 3, 4],
[11, 222, 3333, 4444]
];
鉴于此,以及此模板:
<tr ng-repeat="row in rows | orderBy ????">
<td ng-repeat="cell in row">{{ cell }}</td>
</tr>
...如何通过每行的第二个“列”(给定ng-repeat
元素的索引1
处的值)订购row
?
我是否正确Angular不支持此案例 - 无需编写自定义排序功能? (我只是原型设计,所以使用ng-init
来定义范围变量而不是创建控制器。)
答案 0 :(得分:3)
实际上确实如此。您可以按功能创建自定义订单。
https://github.com/Sylius/Sylius/issues/2931
<div ng-repeat="row in rows | orderBy:secondIndex">
{{row}}
</div>
//In controller
$scope.secondIndex = function(arr){
return arr[1];
}
答案 1 :(得分:2)
您应该使用orderBy:'1'
:
<tr ng-repeat="row in rows | orderBy:'1'">
<td ng-repeat="cell in row">{{ cell }}</td>
</tr>
<强> Demo 强>