我有一个对象数组如下:
$scope.arr = [
{'val': true},
{'val': false},
{'val': false},
{'val': true},
{'val': false},
]
我正在使用ng-repeat
过滤器,该过滤器根据键'val'对数组进行排序,并在其他对象之前将'val'设置为true。这是过滤器:
app.filter('ownerFirst', [function() {
return function(list) {
list.sort(function(a, b) {
return a['val'] - b['val'];
})
return list;
}
}])
模板:
<div ng-repeat="obj in arr | ownerFirst">
但我得到infinite digest error。为什么会这样?
答案 0 :(得分:1)
我认为您不需要自定义过滤器,请尝试使用orderBy,如下所示:
<div ng-repeat="obj in arr | orderBy: '-val'">
您需要将-
- 符号放在val
前面,因为您需要降序排序。