Angular 使用多个过滤器获取行数
Posted
技术标签:
【中文标题】Angular 使用多个过滤器获取行数【英文标题】:Angular get row count with several filters 【发布时间】:2016-09-23 00:21:59 【问题描述】:我在ng-repeat
和多个filter
之后计数row
时遇到问题,我想在使用多个过滤器过滤表后计算当前行数,例如:
<tr ng-repeat="person in data | filter:query | filter : name | filter m_resource: resourceFilter | filter : m_id : idFilter">
</tr>
m_resource, m_id
是data
中的字段,由于badidnet
错误,我无法使用as filter,还有其他方法吗?
【问题讨论】:
不清楚是什么问题。你能澄清一下吗? 我想在应用 3 个过滤器后计算行数。 $last 有参考吗? 已提出问题。看看this answer @RomainDeSaJardim 我在问题中写了这个,不可能有多个过滤器。 【参考方案1】:我发现即使你添加 limitTo 过滤器也能工作
<tr ng-repeat="person in filtered = (data | filter:query | filter : name | filter m_resource: resourceFilter | filter : m_id : idFilter) | limitTo: 5">
那你只需要做
filtered.length
Fiddle sample
【讨论】:
尝试并发布结果。 完美!!谢谢!!【参考方案2】:你应该可以做这样的事情:
ng-repeat="person in filtered = ( data | filter:query | filter : name | filter m_resource: resourceFilter | filter : m_id : idFilter )"
然后使用 filtered.length
作为行数。
【讨论】:
尝试发布结果。 有道理,因为 limitTo 切片列表的一部分。【参考方案3】:<table>
<tr ng-repeat="person in rows = (data | filter:query | filter : name | filter m_resource: resourceFilter | filter : m_id : idFilter)">
</tr>
</table>
<span>There are rows.length rows in the table</span>
同样的问题:How can I obtain the result array of an angular "| filter" expression in a variable?
【讨论】:
以上是关于Angular 使用多个过滤器获取行数的主要内容,如果未能解决你的问题,请参考以下文章
优化 PostgreSql 查询以获取找到的记录总数和基于多个 group by 的分页所需的有限行数
Angular Material - 通过多个过滤器和多个过滤器值同时过滤表