我一直在寻找双向绑定的js大型数据表的解决方案。不幸的是,我无法获得最佳解决方案。
如下所示,我试图在单个表中加载超过5000行的数据,其中20列为数据。但是应用程序性能非常差,加载需要3到4分钟。经过调查后,使用Angular watchers进行添加。由于单个表中的大量数据,我在单个页面中发现了275,000个观察者。
有什么方法可以提高性能并减少观察者?
<table>
<colgroup>
<col ng-style="{ width: h.columnWidth}" data-ng-repeat="h in vm.copyHeadersDeepCopy track by $index"></col>
</colgroup>
<tbody>
<tr ng-repeat="l in vm.copyColumns">
<td ng-class="(l.rowSelected == true)?'selected':''"
ng-repeat="c in l.values"
title="{{c.parameterValue}}">
<div title="{{'No Value Defined' | translate}}"
data-ng-if="vm.getCopyCellInformations(c).type == 'hole'">
<i class="fa fa-exclamation-triangle"></i>
</div>
<div title="{{'empty' | translate}}"
data-ng-if="vm.getCopyCellInformations(c).type == 'grouped'">
</div>
<div title="{{c.parameterValue}}"
data-ng-if="vm.getCopyCellInformations(c).type == 'value'">
<i class="fa" style="cursor: pointer"
data-ng-show="c.parameterValue"
data-ng-click="vm.toggleNode(c)"
data-ng-class="c.active ? 'fa-check-square-o' : 'fa-square-o'"></i>
{{c.parameterValue}}
</div>
</td>
</tr>
</tbody>
</table>