如何减少ng-repeat

时间:2016-09-03 10:56:26

标签: javascript angularjs

我要求所有数据都必须显示在同一页面上(因此不能使用分页)。我正在使用angular 1.5,以下是代码:

<div ng-repeat="a in data">
    <span>{{a.help}}</span>
    <div ng-repeat="b in a.dataAgain">
        <span>{{b.helpAgain}}</span>
        <table class="table table-bordered" style="text-align:center;">
            <tr class="info">
                <td><strong>S.No.</strong></td>
                <td><strong>Name</strong></td>
                <td><strong>Age</strong></td>
                <td><strong>Id</strong></td>
                <td><strong>Dept</strong></td>
            </tr>
            <tr ng-repeat="c in b.allData" class="info">
                <td>{{$index+1}}</td>
                <td>{{c.name}}</td>
                <td>{{c.age}}</td>
                <td>{{c.id}}</td>
                <td>{{c.dept}}</td>
              </tr>
        </table>
    </div>
</div>

在我的场景中,观察者的数量达到1500左右,我使用ng-stats ng-stats来观察观察者的数量。任何人都可以告诉我如何减少观察者的数量。

我在这里发现了同样的问题: Stackoverflow Question

但同样的

没有正确的答案

2 个答案:

答案 0 :(得分:0)

<div ng-repeat="a in data">
    <span>{{::a.help}}</span>
    <div ng-repeat="b in a.dataAgain">
        <span>{{::b.helpAgain}}</span>
        <table class="table table-bordered" style="text-align:center;">
            <tr class="info">
                <td><strong>S.No.</strong></td>
                <td><strong>Name</strong></td>
                <td><strong>Age</strong></td>
                <td><strong>Id</strong></td>
                <td><strong>Dept</strong></td>
            </tr>
            <tr ng-repeat="c in b.allData" class="info">
                <td>{{::$index+1}}</td>
                <td>{{::c.name}}</td>
                <td>{{::c.age}}</td>
                <td>{{::c.id}}</td>
                <td>{{::c.dept}}</td>
              </tr>
        </table>
    </div>
</div>

Angular像往常一样处理DOM,一旦值被解析,它就会从它的内部$$watchers列表中删除特定属性。

您可以在此处详细了解:More Broad Answer

答案 1 :(得分:0)

我强烈建议使用collection-repeat over ng-repeat,它将显着提高应用程序性能。试一试。

<div collection-repeat="b in a.dataAgain">

<tr collection-repeat="c in b.allData" class="info">