重复,其数据大约为4k +。渲染html需要花费很多时间。
我在3秒后从后端获取数据,ng-repeat需要大约9秒来渲染所有4k +记录。
有什么方法可以加快ng-repeat的性能?
谢谢你的帮助?
答案 0 :(得分:3)
如果您有重新创建但可能重复的元素,您可能需要查看Angular 1.2中添加的track by
功能。它会明显加快ngRepeat
,特别是在移动设备上。
Improving ngRepeat performance with track by
此外,您可以利用limitTo来调整渲染元素的数量。这种方法的详细解释可以在这里找到:
答案 1 :(得分:1)
您还可以尝试延迟加载列表底部或软分页的记录,以便一次延迟所有4k记录的呈现。虽然它更像是一种用户体验治疗。
我用它来软分页一个包含20k记录的表,
<div ng-repeat="item in list | limitTo:n></div>
<a href="javascript:void(0)" ng-click="n=n+100">more</a>