Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 极限阵列,角度_Javascript_Angularjs_Ng Repeat_Angularjs Filter - Fatal编程技术网

Javascript 极限阵列,角度

Javascript 极限阵列,角度,javascript,angularjs,ng-repeat,angularjs-filter,Javascript,Angularjs,Ng Repeat,Angularjs Filter,试图限制数组的输出。列表是数据对象中的数组 <tr ng-repeat="item in data.list" ng-if=""><td>{{item.data.attribute}}</td></tr> {{item.data.attribute} 可以使用ng repeat吗?第一件事是删除ng(如果)。然后使用angular现成提供的limito过滤器 ng-repeat="item in data.list | limitTo: 4 a

试图限制数组的输出。列表是数据对象中的数组

<tr ng-repeat="item in data.list" ng-if=""><td>{{item.data.attribute}}</td></tr>
{{item.data.attribute}

可以使用ng repeat吗?

第一件事是删除
ng(如果
)。然后使用angular现成提供的
limito
过滤器

ng-repeat="item in data.list | limitTo: 4 as filtered"
您也可以在控制器内使用相同的过滤器

var limit = 5;
$scope.filteredData = $filter('limitTo')($scope.data.list)(limit);

我认为,最好的方法是使用
limito

<tr ng-repeat="item in data.list |limitTo:quantity"><td>{{item.data.attribute}}</td></tr>
但这并不是最好的解决方案,因为如果它是一个大数组,这将比使用limitToFilter效率低,因为每个项目都可能需要进行评估,在这种情况下,如果
,那么还有一件事
ng如果
,将不会呈现
$index
大于
数量的中继器的
DOM元素
。如果中继器中的
$index
0、1或2或
quantity,则条件为true,并创建DOM节点
ng if
ng hide
的不同之处在于未将元素添加到DOM中

还有一件事,您可以向控制器添加过滤器

.filter('limitItems', function () {/*CODE OF YOUR FILTER FUNCTION*/})

如果要在ng中使用,请使用$index。。
.filter('limitItems', function () {/*CODE OF YOUR FILTER FUNCTION*/})