Angular js: Zugriff auf Daten, die vom Controller in ng-repeat (ngRepeat) gefiltert wurden
Ich muss von meinem Controller aus auf Daten zugreifen, die bereits in einer Vorlage (innerhalb einer ng-repeat) gefiltert wurden.
Folgendes meine ich:
Ich habe diese Tabelle in meiner Vorlage:
<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>
Dann habe ich eine<select>
Damit werden Daten nach Geschlecht gefiltert
<h1>Cluster:</h1>
<select ng-model="query.gender" >
<option value ="">ALL</option>
<option value ="male">Male</option>
<option value ="female">Female</option>
</select>
Das funktioniert ok
Wenn jemand eine der Optionen auswählt, muss ich mit den gefilterten Ergebnissen etwas anfangen. Aus diesem Grund habe ich eine $ watch in meinem Controller, die nach Änderungen an der Filterabfrage sucht:
$scope.$watch('query.gender', function(newValue, oldValue) {
// Here is where I need to get filtered results
});
Meine Frage ist:
Wie greife ich vom Controller auf den GEFILTERTEN Inhalt zu?
Ich würde dies gerne tun, ohne eine weitere "Filter" -Operation im Controller durchführen zu müssen ... (da die Daten bereits gefiltert wurden, befindet sich das Ergebnis irgendwo im Speicher, oder?)