当我使用ng-repeat显示对象时,过滤器不起作用。
如果对象的相同对象是对象数组,则一切都按预期工作。
这是一个展示http://plnkr.co/edit/hBEk34U9SLlfoI5Lhitq?p=preview
的傻瓜Test.controller('TestController', function($scope) {
$scope.data = {
1: {value: '1'},
2: {value: '2'},
3: {value: '3'},
4: {value: '1'},
5: {value: '2'},
6: {value: '3'},
7: {value: '1'},
8: {value: '2'},
9: {value: '3'}
};
$scope.filters = {}
});
<input type="text" ng-model="filters.value">
<div ng-repeat="(id, thing) in data | filter: filters">{{thing.value}}</div>
答案 0 :(得分:0)
如果没有关闭,答案是你不能在对象上使用内置过滤器。就我而言,我只是这样做了:
<li ng-repeat="product in products | toArray | filter:filters">
# Convert to array
SingularAdmin.filter 'toArray', () ->
return (items) ->
if !items
return []
filtered = []
angular.forEach items, (item) ->
filtered.push(item)
return filtered