Angular js: доступ к данным, отфильтрованным в ng-repeat (ngRepeat) из контроллера
Мне нужно получить доступ к данным, которые уже были отфильтрованы по шаблону (внутри ng-repeat) с моего контроллера.
Вот что я имею в виду:
У меня есть эта таблица в моем шаблоне:
<table class="table">
<thead>
<th>Name</th>
<th>Gender</th>
</thead>
<tbody>
<tr ng-repeat="person in persons | filter:query">
<td>{{person.name}}</td>
<td>{{person.gender}}</td>
</tr>
</tbody>
</table>
Тогда у меня есть<select>
который используется для фильтрации данных по полу
<h1>Cluster:</h1>
<select ng-model="query.gender" >
<option value ="">ALL</option>
<option value ="male">Male</option>
<option value ="female">Female</option>
</select>
Это работает хорошо.
Если кто-то выбирает один из вариантов, мне нужно что-то сделать с отфильтрованными результатами. Вот почему у меня в контроллере $ watch, который ищет изменения в запросе фильтра:
$scope.$watch('query.gender', function(newValue, oldValue) {
// Here is where I need to get filtered results
});
Мой вопрос:
Как мне получить доступ к фильтрованному контенту с контроллера?
Я бы хотел, чтобы это было предпочтительно без необходимости выполнять еще одну операцию «фильтрации» в контроллере ... (поскольку данные уже отфильтрованы, результат находится где-то в памяти, верно?)