AngularJS Äußere ng-Wiederholung, um Uhren auf der inneren ng-Wiederholung nicht zu registrieren
Dies steht im Zusammenhang mit meiner Frage -Angular JS ng-repeat belegt mehr Browser-Speicher
Mein Problem hier ist, dass ich verschachtelte ng-Wiederholungen benötige und die verschachtelten ng-Wiederholungen mehr Speicher verbrauchen, weil mehr Uhren registriert werden.
<table>
<thead><td>Id</td><td>Name</td><td>Ratings</td></thead>
<tbody>
<tr ng-repeat="user in users | orderBy:'name' | limitTo:display_limit">
<td>{{user.id}}</td>
<td>{{user.name}}</td>
<td><div ng-repeat="item in items | orderBy:'rating' | limitTo:inner_display_limit">{{item.rating}}</div></td>
</tr>
</tbody>
</table>
In meinem Fall kann die Anzahl der Objekte, mit denen das äußere ng-repeat und das innere ng-repeat arbeiten, bis zu 1000 betragen. Und wie @Liviu in der Antwort gezeigt hat,each of the outer ng-repeat registers watch on the inner ng-repeat
und das führt dazu, dass verbrauchbare Speichermenge verwendet wird. Gibt es einen Weg, den wir können?avoid the outer ng-repeat from registering watches on inner ones
indem Sie unsere eigene benutzerdefinierte Direktive schreiben?
Mein Fall ist sowohl in inneren als auch in äußeren ng-Wiederholungen, ich zeige die ersten 50 Elemente an und beim Scrollen aktualisiere ich das Limit um 50, wenn das Scrollen das Ende des entsprechenden DOM erreicht, damit die nächsten 50 Elemente angezeigt werden.
Jede Hilfe wird sehr geschätzt!