0
Ich versuche, eine Liste mit Seitenumbruch in angularjs zu zeigen, aber zeigen nur die erste Seite und die anderen sind leer. Kannst du mir helfen?Paginierung ng-Wiederholung nur Daten auf der ersten Seite zeigen
Dies ist mein Code:
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>
Wenn i Schaltfläche Weiter klicken, wird die Liste in ng-repeat ist leer
Oh viele Artikel haben Sie in Inventarios im ersten Aufruf? Oder besser teilen Sie den Code hinter Inventario.query(). Sie sollten vielleicht einen neuen Anruf mit Seitenparametern machen. Überprüfen Sie Ihre Leerzeichen in Ihrem Beispiel haben Sie ein Loch 'ng- click =" currentPage = currentPage + 1 ">' – Galhem
InventarioResource ist ein Service, Es ist die Daten zu bekommen. Das Loch ist nur im Beispiel, in meinem Code ist es korrekt. –