0

我試圖用angularjs顯示分頁列表,但只顯示第一頁,其他都是空的。你可以幫我嗎?分頁ng-repeat只顯示第一頁的數據

這是我的代碼:

Controller.js:

angular.module('Client').controller('ListaInventarioCtrl', function($scope, $location, $filter, InventarioResource){ 

    $scope.Inventarios = InventarioResource.query(); 
    $scope.pageSize = 5; 
    $scope.currentPage = 0; 

    $scope.getData = function() { 
     return $filter('filter')($scope.Inventarios, $scope.search) 
    } 

    $scope.numberOfPages=function(){ 
     return Math.ceil($scope.getData().length/$scope.pageSize);     
    } 
}); 

angular.module('Client') 
.filter('startFrom', function() { 
    return function(input, start) {  
     start = +start; 
     return input.slice(start);  
    } 
}); 

listInventario.html:

<div class="input-field"> 
     <input placeholder="Search" type="text" ng-model="search"> 
</div> 

<tr ng-repeat="Inventario in Inventarios | filter:search | limitTo:pageSize | startFrom:currentPage*pageSize"> 
     <td>{{ Inventario.id }}</td> 
</tr> 

<button ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1"> 
    Previous 
    </button> 
    {{currentPage+1}}/{{numberOfPages()}} 
    <button ng-disabled="currentPage >= getData().length/pageSize - 1" ng- click="currentPage=currentPage+1"> 
    Next 
</button> 

當我點擊下一步按鈕,在NG-重複列表爲空

+0

哦許多項目中有你Inventarios在第一個電話?或者更好地分享Inventario.query()後面的代碼。 你也許應該使用頁面參數進行新的呼叫。 檢查你的空間在你的例子中你有一個洞'ng- click =「currentPage = currentPage + 1」>' – Galhem

+0

InventarioResource是一項服務,它是獲取數據。這個洞只是在這個例子中,在我的代碼中是正確的。 –

回答

0

我找到了解決方案,您必須先在ng-repeat中使用「startFrom」並在「limitTo」之後。

這將是解決辦法:

<tr ng-repeat="Inventario in Inventarios | filter:search | startFrom:currentPage*pageSize | limitTo:pageSize"> 
     <td>{{ Inventario.id }}</td> 
</tr>