I have been finding the solution for large data tables in angular js with bi-direction binding. Unfortunately I could not get best solution.
As shown below, I'm trying to load the data more than 5000 rows with 20 columns in single table. But application performance is very poor loading and taking time 3 to 4 minutes. After investigation using Angular watchers add on. I found 275,000 watchers in single page due to large data in single table.
Is there any way to improve the performance and reducing the watchers?
<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>