尝试限制数组的输出。 list是数据对象中的数组。
<tr ng-repeat="item in data.list" ng-if=""><td>{{item.data.attribute}}</td></tr>
是否可以使用ng-repeat?
答案 0 :(得分:2)
我认为,最好的方法是使用operationId
limitTo
其中<tr ng-repeat="item in data.list |limitTo:quantity"><td>{{item.data.attribute}}</td></tr>
是您的限制。您也可以使用:
quantity
但它不是最好的解决方案,因为如果它是一个大型数组,效率低于使用limitToFilter,因为每个项目可能都需要进行评估,在这种情况下,另外一个<tr ng-repeat="item in data.list" ng-if="$index < quantity"><td>{{item.data.attribute}}</td></tr>
将不会渲染ng-if
大于DOM element
的转发器的$index
。如果转发器中的quantity
为$index
数量,则条件为真且创建DOM节点。 0, 1, or 2 or
与ng-if
的不同之处在于元素未添加到DOM
还有一件事,你可以在控制器中添加过滤器
ng-hide
答案 1 :(得分:1)
首先删除ng-if
。然后使用开箱即用的limitTo
过滤器。
ng-repeat="item in data.list | limitTo: 4 as filtered"
您也可以在控制器内部使用相同的过滤器。
var limit = 5;
$scope.filteredData = $filter('limitTo')($scope.data.list)(limit);