Reputation: 25914
If I have a list:
items = [
{
name: name1
value: value1
},
{
name: name2
value: value2
}
]
The following HTML work perfectly:
<input ng-model='search_field'/>
<span ng-repeat='item in items | search_field>[[item]]</span>
But how can I use this functionality if items is a dictionary like this:
items = {
name1 : value1,
name1 : value2
}
I'd like to use the dictionary representation because it's a lot easier for the operations I'm going to be performing.
Upvotes: 1
Views: 1303
Reputation: 3856
angular.module('filters',[])
.filter('objFilter', function($filter){
return function(input, query){
if(!query) return input;
var result = [];
angular.forEach(input, function(v,k){
result.push(v);
});
var refined = $filter('filter')(result,query);
return refined;
};
});
<span ng-repeat='item in items | objFilter:query'></span>
Upvotes: 1