【问题标题】:AngularJS ng-repeat <table> with paginationAngularJS ng-repeat <table> 分页
【发布时间】:2017-04-25 19:11:03
【问题描述】:

我正在使用 angularJS 来呈现带有分页的表格, 下面是我在互联网上找到的分页:

http://jsfiddle.net/SAWsA/9086/

现在我已经分叉了小提琴,如下所示:

http://jsfiddle.net/w6egw14b/2/

我已经删除了下面的功能,并在 ng-click 中给出了相同的功能,

$scope.setPage = function() {
    $scope.currentPage = this.n;
};

但是当我点击页码时它不起作用,谁能告诉我为什么它会失败?我怎样才能做到这一点?

我的目标是让这些函数分别与同一页面中存在的许多表一起工作,

【问题讨论】:

    标签: angularjs angularjs-ng-repeat


    【解决方案1】:

    这是一个经典的范围问题。 你的

    <li ng-repeat="n in range(pagedItems.length, currentPage, currentPage + gap) " ng-class="{active: n == currentPage}" ng-click="currentPage = n;">
      <a href ng-bind="n + 1">1</a>
    </li>
    

    创建自己的范围并设置 currentPage 将在这个新范围中创建一个变量,而不是控制器的范围。

    简单而肮脏的解决方案:

    <li ng-repeat="n in range(pagedItems.length, currentPage, currentPage + gap) " ng-class="{active: n == currentPage}" ng-click="$parent.currentPage = n;">
      <a href ng-bind="n + 1">1</a>
    </li>
    

    updated fiddle

    我认为您绝对应该保留 setPage 函数(或者更好的是,传递给命名控制器)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多