I need to be able to filter on two different values of one field of an object. Take the following example.
$scope.products = [
{name:"Apple",type:"fruit"},
{name:"Grape",type:"fruit"},
{name:"Orage",type:"fruit"},
{name:"Carrot",type:"vegetable"},
{name:"Milk",type:"dairy"}
]
With the filter ng-repeat="item in products | filter:{type:'fruit'}"
. I can get all of the fruits. But what if I want to get all of the fruits and vegetables. I tried
ng-repeat="item in products | filter:{type:['fruit','vegetable']}"
But that didn't work. I figure there should be a simple solution to this, but I couldn't find it.
JSFiddle Example
Use a filter function instead:
$scope.fruitOrVeg = function(product){
return product.type == 'fruit' || product.type == 'vegetable';
};
<li ng-repeat="item in products | filter:fruitOrVeg">{{item.name}}</li>
Fiddle
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With