这与我的问题有关 - Angular JS ng-repeat 消耗更多浏览器内存
我的问题是我需要嵌套的 ng-repeats 并且嵌套的 ng-repeats 会消耗更多的内存,因为注册了更多的手表。
<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-repeats 中,我显示最初的 50 个项目,并且在滚动时,如果滚动到达相应 DOM 的末尾,我将限制更新 50,以便显示接下来的 50 个项目。
任何帮助深表感谢!