过滤对象数组时出现无限摘要错误
Infinite digest error on filtering array of objects
我有一个对象数组如下:
$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。为什么会这样?
我认为您不需要自定义过滤器,尝试像这样使用 orderBy:
<div ng-repeat="obj in arr | orderBy: '-val'">
您需要将 -
符号放在 val
前面,因为您需要降序排列。
我有一个对象数组如下:
$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。为什么会这样?
我认为您不需要自定义过滤器,尝试像这样使用 orderBy:
<div ng-repeat="obj in arr | orderBy: '-val'">
您需要将 -
符号放在 val
前面,因为您需要降序排列。