如何获取dir-paginate过滤结果引用

时间:2015-01-29 12:35:29

标签: angularjs angularjs-directive dirpagination

我在我的项目中使用angularjs v1.2.9。我使用dir-pagination在我的网络应用程序中显示项目列表。一些过滤器也用于动态地对列表进行排序。有没有办法让我在控制器中获取动态排序列表?我尝试了here给出的解决方案。但他们似乎并没有使用dir-pagination。

<tr dir-paginate="person in contacts|filter:searchText|filter:groups|orderBy:['name','email'] | itemsPerPage : 10"

1 个答案:

答案 0 :(得分:9)

您可以使用函数在需要时返回过滤后的结果。

function getFilteredResults() {
    return $scope.$eval("person in contacts|filter:searchText|filter:groups|orderBy:['name','email']");
}

如果您只想要过滤结果,而不是想要的分页结果。

<dir-paginate="person in filteredPersons = (contacts|filter:searchText|filter:groups|orderBy:['name','email']) | itemsPerPage : 10">

如果您需要一个已过滤结果的页面,您可以像这样在控制器中处理它。

function getFilteredPersonsOnPage() {
    var end;
    var start;
    var itemsPerPage = parseInt($scope.queryState.pageSize) || 999;
    start = ($scope.currentPage - 1) * itemsPerPage;
    end = start + itemsPerPage;
    return $scope.filteredPersons.slice(start, end);
}