angularjs html中动态表的分页

时间:2016-04-13 10:16:54

标签: javascript angularjs pagination

我是angularjs的新手。 我想添加分页以动态创建表行。 3行后添加显示分页。  当你点击购买时,它会添加行但不会在3行后分页。我在控制器(script.js)中提到限制为3 请在这里查看plunker演示 http://plnkr.co/edit/aViHHoqLBSSiIVMh2KkH?p=preview

`<tr ng-repeat="sum in priceSumRow | filter : paginate">`
buySellApp.controller('buySellCtrl', ['$scope', function($scope) {
 $scope.totalItems = $scope.priceSumRow.length;
 $scope.currentPage = 1;
  $scope.numPerPage = 5;

  $scope.paginate = function(value) {
  var begin, end, index;
   begin = ($scope.currentPage - 1) * $scope.numPerPage;
     end = begin + $scope.numPerPage;
    index = $scope.priceSumRow.indexOf(value);
   return (begin <= index && index < end);
 };
 }]);

1 个答案:

答案 0 :(得分:0)

您需要在代码中纠正一些事项。

  • 您要定义两次相同的控制器buySellCtrl。一次在你的script.js中,一次在html中,这完全是不必要的。你可以在paginate内移动script.js代码。
  • total-items用于分页,如果数组priceSumRow的长度类似于<pagination total-items="priceSumRow.length" ...而不是<pagination total-items="totalItems.length" ...,则会阻止来自控制器的额外范围变量。
  • 用于分页的
  • max-size="3"定义了要在当前页面中显示的记录的最大限制。 items-per-page="numPerPage"为页面中的记录定义了明确的数字,但在您的情况下,您已将numPerPage定义为5

注意:我建议您以严格模式use strict;工作,严格模式是选择加入受限制的JavaScript变体的方式。

  

MDN : 严格模式对普通JavaScript语义进行了一些更改。首先,严格模式通过更改它们以抛出错误来消除一些JavaScript无声错误。其次,严格模式修复了使JavaScript引擎难以执行优化的错误:严格模式代码有时可以比非严格模式的相同代码运行得更快。第三,严格模式禁止在ECMAScript的未来版本中定义一些可能的语法。

Working Demo @ Plunker