Also, die Situation, die ich habe, ist das Durchlaufen einer Liste von JSON-Objekten, die eine Liste als Attribut enthalten. Ich habe eine innere Schleife, die sich auf diesem Listenattribut wiederholt. Etwas nach dem Vorbild dieser:Angular.js: Wie man die Anzahl der Elemente in verschachtelten ng-Wiederholungen zählt
Number of results: {{count}}
<div ng-repeat="jsonObject in outerList | someFilter" ng-show="innerList.length">
<h1>{{jsonObject.Name}}</h1><br>
<div ng-repeat="items in jsonObject.listAttr | someOtherFilter as innerList">
{{items.data}}<br>
</div>
<br>
</div>
Das Problem, das ich bin vor ist die Suche nach einem Weg, um eine aggregierte Anzahl aller Elemente in jeder Iteration der inneren Wiederholung zu greifen. Also, wenn das erste jsonObject 2 Dinge hat, die mit dem inneren Filter übereinstimmen, und das zweite jsonObject 3 Dinge hat, die mit dem inneren Filter übereinstimmen, zeigen wir eine Anzahl von 5 außerhalb der ganzen Schleife (in der Zählvariablen oben oder etwas ähnliches).
Ich habe eine Reihe von Möglichkeiten untersucht, um diese Zahl zu bekommen, aber ohne Erfolg. Einer der Schlüssel, die in einige Lösungen geworfen wird, ist, dass die Filter sind etwas, das der Benutzer im laufenden Betrieb (über ein Suchfeld zum Beispiel) ändern kann, so kann ich nicht nur alle Filter in anwenden Controller beim Laden der Seite und zeigt das an. Ich kann mit 5 Objekte, bis der Benutzer tippt etwas in das Suchfeld starten, der die Nummer 2. abfällt
Sie können dies möglicherweise tun, indem Sie die Länge von jedem verwenden und sie auf dem Alias addieren, der den gefilterten Listen gegeben wird. Ich habe dies für andere ähnliche Fälle mit einigen grundlegenden Zeigern hier getan: http://angular-tips.com/blog/2014/08/tip-accessing-filtered-array-outside-ng-repeat/ – user1934587390