根据Angular ngRepeat documentation,您只能在ngRepeat
的末尾使用别名表达式:
请注意`作为[变量名]不是运算符,而是a ngRepeat微语法的一部分,所以它只能在最后使用(和 不是作为操作符,在表达式中。)
在我的ng-repeat
中,我需要根据属性过滤掉项目,然后使用limitTo
过滤器进行分页。
如何在第二个过滤器之前获取已过滤项目的数量?
这不起作用:
item in c.items | filter: c.contextFilter as filteredItems | limitTo: c.pagination.pageSize : c.pagination.currentPage*c.pagination.pageSize
我还有其他方法可以获得filteredItems.length
值吗?
答案 0 :(得分:3)
我有同样的问题,我修复了它将过滤器表达式的第一部分的结果分配给一个新变量。在您的示例中:
item in filteredItems = (c.items | filter: c.contextFilter) | limitTo: c.pagination.pageSize : c.pagination.currentPage*c.pagination.pageSize
<div>{{filteredItems.length}}</div>
controllerAs
语法的完整示例:
item in $ctrl.filteredItems = ($ctrl.items | filter: $ctrl.customFilter | orderBy: $ctrl.order) | limitTo: $ctrl.pagination.pageSize : $ctrl.pagination.currentPage*$ctrl.pagination.pageSize