2014-11-25 4 views
0

У меня есть этот код:AngularJS - фильтр элемента массива на основе его собственности массива

<label>Ages: <input type="text" ng-model="objProp2AgesFilter" /></label><br /> 
<table> 
    <thead> 
    <tr> 
     <th>Name</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr ng-repeat="p in items"> 
     <td>{{p.name}}</td> 
    </tr> 
    </tbody> 
</table> 

items массив выглядит как:

[{ 
    name: 'tst1', 
    ages: [1,2,3] 
},{ 
    name: 'tst2', 
    ages: [2,3,4] 
}] 

Как отфильтровать, что элементы, у которых содержат значение, например, 4 в массиве ages?

+0

Вы должны написать пользовательский фильтр. – tiledcode

ответ

3
<tr ng-repeat="p in items | filter:hasAge4"> 

И в контроллере:

$scope.hasAge4 = function(item) { 
    return item.ages.indexOf(4) >= 0; 
}; 
Смежные вопросы