我的网页上有一个表格,其中填充了如下数据:
<tr data-ng-repeat="row in grid.data | filter:isQuestionInRange">
<td>{{ row.problemId }}</td>
</tr>
有没有一种方法可以计算表页脚中显示的行数。请注意,我希望能够显示过滤后的行,而不仅仅是来自 grid.data 数组的行数。
我的网页上有一个表格,其中填充了如下数据:
<tr data-ng-repeat="row in grid.data | filter:isQuestionInRange">
<td>{{ row.problemId }}</td>
</tr>
有没有一种方法可以计算表页脚中显示的行数。请注意,我希望能够显示过滤后的行,而不仅仅是来自 grid.data 数组的行数。
您可以存储过滤器的结果,然后获取其长度,例如results
在此处使用:
<tr data-ng-repeat="row in results = (grid.data | filter:isQuestionInRange)">
<td>{{ row.problemID }}</td>
</tr>
{{results.length}}
这具有只需要运行一次过滤器的性能优势。对于需要在ng-repeat
.
您可以检查过滤数组的长度,例如:
{{ (grid.data | filter:isQuestionInRange).length }}
我建议您在控制器中使用$filter 服务,如本示例 plunk所示:
$scope.evenNumbers = $filter('filter')($scope.numbers, $scope.isEven);
在你的情况下:
var $scope.filteredRows = $filter('filter')($scope.gridData, $scope.isQuestionInRange);
这样,您只需进行一次过滤,并避免在模板中引入新的范围字段,这会使您的代码难以测试和理解。
filteredRows
您在模板中重复并{{ filteredRows.length }}
为您提供可见行数。