Angular JS大表性能问题

时间:2018-12-18 10:34:22

标签: javascript angularjs

我一直在寻找双向绑定的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>

0 个答案:

没有答案