AngularJS Outer ng-repeat чтобы не регистрировать часы на внутреннем ng-repeat
Это связано с моим вопросом -Angular JS ng-repeat потребляет больше памяти браузера
Моя проблема здесь в том, что мне нужны вложенные ng-повторы, а вложенные ng-повторы занимают больше памяти из-за того, что регистрируется больше часов.
<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>
Здесь, в моем случае, число объектов, с которыми работает внешний ng-repeat и внутренний ng-repeat, может доходить до 1000. И, как указал @Liviu в ответе,each of the outer ng-repeat registers watch on the inner ng-repeat
и это приводит к потребляемому количеству используемой памяти. Есть ли способ, которым мы можемavoid the outer ng-repeat from registering watches on inner ones
написав нашу собственную пользовательскую директиву?
В моем случае используются как внутренние, так и внешние ng-повторы, я отображаю первые 50 элементов и при прокрутке. Если прокрутка достигает конца соответствующей DOM, я обновляю ограничение на 50, чтобы отображались следующие 50 элементов.
Любая помощь высоко ценится!