【发布时间】:2016-11-20 05:26:36
【问题描述】:
我正在对 ng-repeat 中的一组项目使用过滤器,如下所示:
<input type="text" ng-model="filterText">
<li ng-repeat="item in displayItems | filter : {item_name: filterText}>
这可以正常工作并且可以完美地过滤项目。出现问题是因为我正在使用带有 uib-pagination 元素的 displayItems。分页使用 totalItems 而不是 displayItems。
<uib-pagination class="pagination-sm pagination"
total-items="totalItems.length" ng-model="page" ng-change="changeItems()">
</uib-pagination>
显然我需要以某种方式对总项目应用过滤器,然后创建显示项目,并将过滤后的项目放在 uib 分页中。
即。当人员键入时,在控制器中将过滤器应用于totalItems,然后我创建分页所需的filteredItems。然后,我还从过滤后的项目中创建了 displayItems。如何将它放入控制器而不是放入 ng-repeat 的 HTML 中?
我不知道该怎么做。有什么想法吗?非常感谢所有帮助....
我已经包含了一个 plunker 来展示它(不)在它的所有荣耀中工作...... https://plnkr.co/edit/EYX6zO1795sD9TYq2J8U?p=preview
【问题讨论】:
-
将
total-items更改为:total-items="filteredItems.length"。 -
在控制器中将全部项目变成过滤项目 - 我如何创建这些过滤项目是问题?
标签: angularjs pagination angular-ui-bootstrap