我一直在尝试在AngularJs中实现分页

时间:2017-06-23 07:23:25

标签: javascript angularjs pagination

以下代码用于HTML中的分页:

<button ng-disabled="" ng-click="previousPage(limit,offset)">
    Previous
</button>&nbsp;
<button ng-disabled="" ng-click="nextPage(limit,offset)">
    Next
</button>

在控制器文件中:

$scope.previousPage=function(limit,offset){                 
adminservice.getPagination().then(function(response){
 adminservice.showAllVehicleDetails().then(function(){
   $scope.vehicledetails=response.data[0][limit-10][offset+10];
  console.log('limitNumber',limit)
  console.log('offsetNumber',offset)
        });
    });
 }
$scope.nextPage=function(limit,offset){
    adminservice.getPagination().then(function(response){
        adminservice.showAllVehicleDetails().then(function(){
                $scope.vehicledetails=response.data[0][limit+10][offset-10];
                });
        });
    }

在服务档案中:

var getPagination=function(){
 return $http({
        url:apiurl+'paginatedetails',
        method:"GET",
        params:{limitNumber:limit,offsetNumber:offset}
    });
}

有人能告诉我正确的方法吗?当我运行此代码时,控制台会显示错误:limit is not defined at Object.getPagination

2 个答案:

答案 0 :(得分:1)

在控制器文件中,您必须将limit,offset传递给adminservice.getPagination(limit,offset)

$scope.previousPage=function(limit,offset){                 
adminservice.getPagination(limit,offset).then(function(response){
 adminservice.showAllVehicleDetails().then(function(){
   $scope.vehicledetails=response.data[0][limit-10][offset+10];
  console.log('limitNumber',limit)
  console.log('offsetNumber',offset)
        });
    });
 }
$scope.nextPage=function(limit,offset){
    adminservice.getPagination(limit,offset).then(function(response){
        adminservice.showAllVehicleDetails().then(function(){
                $scope.vehicledetails=response.data[0][limit+10][offset-10];
                });
        });
    }

在服务文件中你还必须像这样写

var getPagination=function(limit,offset){
 return $http({
        url:apiurl+'paginatedetails',
        method:"GET",
        params:{limitNumber:limit,offsetNumber:offset}
    });
}

我觉得这很好。

答案 1 :(得分:0)

我想您必须在每次limit来电时将offsetclick恢复投放服务:

var getPagination=function(limit, offset){
 return $http({
        url:apiurl+'paginatedetails',
        method:"GET",
        params:{limitNumber:limit,offsetNumber:offset}
    });
}

现在在click函数中传递参数:

adminservice.getPagination(limit, offset)....