运行ng-repeat on-click(当ng-show为true时)?

时间:2014-10-08 07:50:30

标签: javascript html angularjs ng-repeat

我有一个填充ng-repeat的表格。表格有100行,如果您点击新表格中显示的任何行,(ng-show)表示产品的更深层描述。但ng-repeat速度很慢,并且会生成101个表的页面加载,这会降低我的网络应用程序的性能。有没有办法,使用angular(没有外部库),只有当用户点击某一行(ng-repeat为真时)才能运行ng-show

注意:每个隐藏表都是唯一的。

这是我的html表:

<tbody>
    <tr ng-repeat-start="car in sortedCarList" ng-click="showTable(car)">
        <td><a target="_blank" href="{{car.carLink}}">{{car.name}}</a></td>
        <td>{{car.review}}</td>
        <td>{{car.rating}}</td>
        <td>{{car.fiveStarPercent}}</td>
        <td>{{car.recommended}}</td>
        <td>{{car.price}}</td>
    </tr>
    <tr ng-repeat-end ng-show="modelRow.activeRow==car.name && showDetails && car.allReviews.length!=0" class="hidden-table">
        <td colspan="6">
            <table class="table table-striped table-bordered table-condensed table-hover">
                <thead>
                    <tr>
                        <th>Year</th>
                        <th>Reviews</th>
                        <th>Rating <span class="fiveStar">/5</span></th>
                        <th>Recommended</th>
                        <th>Reliability Rating</th>
                        <th>Performance Rating</th>
                        <th>Running Costs Rating</th>
                    </tr>
                </thead>
                <tbody ng-repeat="rev in car.allReviews">
                    ....

1 个答案:

答案 0 :(得分:1)

尝试使用ng-if而不是ng-show来切换嵌套表格。这应该会延迟嵌套表中的任何ng-repeat,直到它显示出来。