ng-repeat需要花费很多时间来渲染html?

时间:2014-05-21 07:47:47

标签: angularjs angularjs-ng-repeat angular-ui

重复,其数据大约为4k +。渲染html需要花费很多时间。

我在3秒后从后端获取数据,ng-repeat需要大约9秒来渲染所有4k +记录。

有什么方法可以加快ng-repeat的性能?

谢谢你的帮助?

2 个答案:

答案 0 :(得分:3)

如果您有重新创建但可能重复的元素,您可能需要查看Angular 1.2中添加的track by功能。它会明显加快ngRepeat,特别是在移动设备上。

Improving ngRepeat performance with track by

此外,您可以利用limitTo来调整渲染元素的数量。这种方法的详细解释可以在这里找到:

My solution to the ngRepeat performance problem

答案 1 :(得分:1)

你试过这个吗? http://tech.small-improvements.com/2013/09/10/angularjs-performance-with-large-lists/

您还可以尝试延迟加载列表底部或软分页的记录,以便一次延迟所有4k记录的呈现。虽然它更像是一种用户体验治疗。

我用它来软分页一个包含20k记录的表,

<div ng-repeat="item in list | limitTo:n></div>
<a href="javascript:void(0)" ng-click="n=n+100">more</a>