我有一个填充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">
....
答案 0 :(得分:1)
尝试使用ng-if
而不是ng-show
来切换嵌套表格。这应该会延迟嵌套表中的任何ng-repeat
,直到它显示出来。