dir-pagination指令angularjs:有什么办法可以在分页中获取当前页面的所有记录吗?

Sam*_*hah 5 pagination angularjs angularjs-ng-repeat dirpagination

我正在使用@michaelbromley的dir-pagination指令.我想获得当前指令页面上的所有记录.有没有办法做到这一点?

dir-paginate pic

这是链接:dir-pagination,所以我需要records从100到96 的5的集合.有没有快速的方法来做到这一点?

我尝试了几件但没有工作.

Mic*_*ley 1

这是另一种可能的方法,它不需要您复制表达式中的逻辑dir-paginate

对于每个重复的项目,您只需将该项目推送到控制器中的数组中即可。这当然会为您提供该页面的所有项目。

这是一个例子:

<ul>
   <li dir-paginate="meal in perman  = ( meals | filter:q ) | orderBy: order?'key':'-key' | itemsPerPage: pageSize" current-page="currentPage" ng-init="addMeal(meal)">{{ meal.key + ': ' +meal.val }}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

然后在控制器中:

$scope.addMeal = function(meal) {
  if (meal) {
    if ($scope.page.length === $scope.pageSize + 1) {
      $scope.page = [];
    }
    $scope.page.push(meal);
  }
}
Run Code Online (Sandbox Code Playgroud)

我没有进行昂贵的测试,但一般原则应该有效。在我看来,这有点老套,但作为 Rathish 提供的答案的替代方案,它值得了解。