У меня есть несколько элементов, сгенерированных с помощью ng-repeat, я должен добавить pagination.but, везде я вижу, получая значение количества элементов, я могу добавить. но я не могу получить пропуск. т.е. если значение пропуска равно 10, оно пропустит первые пункты и перечислит другие элементы, мне нужно сделать, как использовать значение пропуска с помощью бутстрапа с угловым ui.
следующий код внутри службы
mainEvents: function() {
var self = this;
var skipNumber=2;
return $http.get(UrlService.baseUrl + '/event/upcoming?count='+ skipNumber).then(function(response) {
// var events = response.data;
var events = response.data.events;
var upEvents=[];
var eventsLen = events.length;
for (var i = 0; i < eventsLen; i++) {
self.prepareForRendering(events[i]);
}
var totalItems = response.data.events.length;
angular.copy(response.data.events, upEvents)
console.log(upEvents);
// angular.copy(response.data.tracks, $scope.tracks)
return events;
}, function(response) {
return $q.reject(response.data.error)
});
},
$scope.pageChanged = function() {
mainEvents();
};
наценка
<ul>
<li ng-repeat="event in events">{{event.name}}</li>
</ul>
<pagination total-items="totalItems" ng-model="skipNumber" ng-change="pageChanged()" items-per-page="1"></pagination>
На основе числа страниц, нажатых, skipNumber будет увеличен на 10, 20 и т.д., Как это сделать.может кто-нибудь, пожалуйста, помогите мне
Рабочая скрипка.
Переменная events
- это массив, поэтому с ним можно использовать метод slice
: ng-repeat="event in events.slice( (currentPage - 1) * itemsPerPage, currentPage * itemsPerPage )"
.
Вы установили itemsPerPage
, как 1
здесь: items-per-page="1"
и currentPage
есть ($scope.skipNumber/$scope.itemsPerPage) + 1
(результат DeVision здесь должен быть целым).
Полученный html будет выглядеть так:
<ul>
<li ng-repeat="event in events.slice( (currentPage - 1) * itemsPerPage, currentPage * itemsPerPage)">{{event.name}}</li>
</ul>
<pagination total-items="totalItems" ng-model="currentPage" items-per-page="itemsPerPage"></pagination>
items-per-page
имеет значение 1
в вашем фрагменте, поэтому он делает то, что вы указали, показывать 1
элемент на странице. Была ли это проблема?
apiurl?skip=10
он пропустит первые 10 элементов, для первой страницы будетapiurl?skip=10
0, для второй страницы должно быть 10, как показано ниже. я хочу отображать только 10 элементов одновременно