AngularJS ng-repeat filtering with an OR-statement
angularjs, angularjs-filter, angularjs-ng-repeat
Solution
Your only options is to use a filter using a function:
<ul>
<li ng-repeat="company in companies | filter:customFunction">
{{company.name}}
</li>
</ul>
Where
$scope.customFunction = function(item){ /* true if you want item, false if not */ }
Source: http://docs.angularjs.org/api/ng.filter:filter#parameters
Problem
So I have a dataset of companies stored in a variable in a controller. ``` $scope.companies = [ { name: "first company", type: ["a", "b"] }, { name: "second company", type: ["b"] }, { name: "third company", type: ["c"] } ] ``` Then i have my list where I want to list all companies of either a or b. I thought sending and array would work as an or-statement. Turns out it's more like an and-statement. ``` <ul> <li ng-repeat="company in companies | filter:filters{type: ['a', 'b']}"> {{company.name}} </li> </ul> ``` The code above would list "first company" while I would like it to list both the "first company" and the "second company". I know I could manipulate the $scope.companies dataset from within the controller, but I'd like to know if there's any "native" way to achieve this first. Best regards! // Richard