2017-07-29 24 views
0

我正在使用一个主板系统。其中有卡需要显示以及卡可以拖放到板上。angularjs ng-repeat对于繁重的数据非常缓慢

有行和列可能在板n个和卡可以拖放下降到任何行和列

所以我已经实施它与嵌套ng重复它是正常工作。

但是当有超过300张卡在机上时,需要花费很多时间来加载大约8000ms到9000ms。

由于数据更多并且使用嵌套的ng-repeat,所以有很多迭代。

由于需要在单板上显示所有卡,因此无法进行延迟加载。

因此,在这种情况下,我该如何提高使用ng-repeat或任何其他替代方法渲染电路板的性能。

任何帮助,将不胜感激。

感谢

回答

2

的一种方式,以提高纳克重复性能与轨道使用它的:

<div ng-repeat="item in array track by item.property"> </div> 

或者试试这个,如果该项目属性不是唯一的:

<div ng-repeat="item in array track by $index"> </div> 
+0

我已经使用

我正在尝试

+0

我试过

它将时间从9000ms缩短到4000ms到5000ms。 我检查了所有过滤器,并且每个人都快速响应,但需要时间重新渲染。 –

+0

您可以使用AngularJS中的一次性绑定,如下所示:'

{{::item.property}}
'当您使用此语法时,对对象所做的更改将不会更新。从文档中一次性绑定非常简单:一次性表达式一旦稳定就会停止重新计算,如果表达式结果是非未定义的值,则会在第一次摘要后发生。 – Ardit