在Ng-Table上加载JSON数据后,分页无法正常工作

时间:2014-10-15 03:05:22

标签: json angularjs pagination xmlhttprequest ngtable

我按照http://bazalt-cms.com/上的示例进行了分页,但是使用了$http.get而不是对控制器中的变量进行硬编码。

  $http.get("data.json").success(function(data){
       $scope.dataset = data;
   }

我还移动了$scope.tableParams

中的$http.get
$http.get("data.json").success(function(data){
     $scope.dataset = data;

     $scope.tableParams = new ngTableParams({
      ...
    }
});

并将data变量更改为$scope.dataset

total: $scope.dataset.length, // length of data
getData: function($defer, params) {
        $defer.resolve($scope.dataset.slice((params.page() - 1) * params.count(), params.page() * params.count()));}

除了分页现在不起作用See Plnkr here

之外,一切正常

2 个答案:

答案 0 :(得分:8)

我已经与ng-table合作了一段时间。当我尝试使用$datadata以外的变量名称时,它似乎不起作用。所以我建议你应该坚持使用$datadata而不是像dataset这样的任何其他变量名。

这是一个有效的Plunker

更新

看起来我错过了OP问题中的错误。正如评论中提到的 Tyler Collier yunus kala 一样,您只需使用$data代替<tr ng-repeat="user in $data">代替<tr ng-repeat="user in dataset">。如果您在控制器代码中使用datadataset,则无关紧要。

答案 1 :(得分:0)

看看这里ng-Table not rendering new data when reloading request
首先应该为ng-repeat变量应用指令$data,并将ngtableParams初始化移到success回调之外,并将getData内部所有逻辑放入数据acsess