角度分页 - 过滤后的结果不会更新总项目

时间:2015-02-25 12:01:13

标签: angularjs pagination angularjs-ng-repeat angularjs-filter

我有两个过滤器,一个用于分页,另一个用于搜索查询。它首先搜索,然后分析结果。

这是html:

    <table class="table table-striped">
    <tbody>
        <tr ng-repeat="pot in (filteredPots = (pots | search:potQuery | paginate:currentPageNumber.pots:itemsPerPage))">
            ...
        </tr>
    </tbody>
</table>
<pagination ng-model="currentPageNumber.pots" ng-change="paging(pots)" items-per-page="{{itemsPerPage}}" total-items="filteredPots.length" class="pagination-sm"></pagination>

根据我的理解,这是正常的(我可以添加{{ filteredPots.length }},它显示值10)。

我要做的是将total-items值作为总数组长度(即没有将其限制为itemsPerPage的分页)。

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

想出来......经过了大量的反复试验。

Html更新为:

    <table class="table table-striped">
    <tbody>
        <tr ng-repeat="pot in (filteredPots = (searchedPots = (pots| search:potQuery) | paginate:currentPageNumber.games:itemsPerPage))">
            ...
        </tr>
    </tbody>
</table>
<pagination ng-model="currentPageNumber.pots" ng-change="paging(pots)" items-per-page="{{itemsPerPage}}" total-items="searchedPots.length" class="pagination-sm"></pagination>

改变了什么?我没有使用两个单独的过滤器过滤数组pots,而是过滤过滤器pots上的数组search:potQuery并将结果数组保存为searchedPots,然后将第二个过滤器保存使用searchedPots作为数组,并将结果保存为filteredPots(未使用)。

然后我将搜索到的花盆的长度在分页之前searchedPots