【问题标题】:pagination for dynamic table in angularjs htmlangularjs html中动态表的分页
【发布时间】:2016-04-13 21:05:54
【问题描述】:

我是 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);
 };
 }]);

【问题讨论】:

  • 您希望我们帮助您解决什么问题?

标签: javascript angularjs pagination


【解决方案1】:

您需要在代码中更正几件事。

  • 您定义了同一个控制器buySellCtrl 两次。一次在您的 script.js 和一次在 html 本身中,这是完全没有必要的。相反,您可以将 paginate 代码移动到 script.js 中。
  • total-items 用于分页应该是数组 priceSumRow 的长度,例如 &lt;pagination total-items="priceSumRow.length" ... 而不是 &lt;pagination total-items="totalItems.length" ...,这会防止控制器产生额外的范围变量。
  • max-size="3" 用于分页定义了要在当前页面中显示的记录的最大限制,items-per-page="numPerPage" 定义了页面中记录的确定数量但在您的情况下,您已将 numPerPage 定义为 5

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

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

Working Demo @ Plunker

【讨论】:

  • 哇,谢谢......它按预期工作...... :) 你已经纠正了我的演示中的许多错误......非常感谢
  • 欢迎您。现在你可以通过勾选答案来结束这个问题
  • 查看这个帮助页面,了解更多关于如何接受答案以及在做同样的事情时应该做和不做的事情。stackoverflow.com/help/someone-answers
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-15
  • 2017-10-27
  • 1970-01-01
相关资源
最近更新 更多