Попытка закончить разбиение на страницы на небольшое поисковое приложение, используя AngularJS UI bootstrap pagination directive. Почти работайте, ЗА ИСКЛЮЧЕНИЕМ, что я не могу получить первые 10 результатов, которые будут отображаться после первоначального поиска.AngularJS pagination почти работает
Случается, что начальные 100 результатов загружены, и они разбиты на отображение 10 на страницу. Тем не менее, первые 10 не появляются после того, как вы пострадали от некоторых, и нажмите ссылку «1» в элементе управления разбиением на страницы.
Это HTML
<uib-pagination total-items="results.totalItems" max-size="10" items-per-page="itemsPerPage" ng-model="currentPage" ng-change="changePage()" direction-links="true" previous-text="‹" next-text="›" class="pagination-sm"></uib-pagination>
Это моя функция поиска, которая загружает начальные 100 результатов
$scope.search = function() {
$scope.isSearching = true;
return searchService.search($scope.searchTerms, $scope.currentPage).then(function(es_return) {
var totalItems = es_return.hits.total;
var totalTime = es_return.took;
var numPages = Math.ceil(es_return.hits.total/$scope.itemsPerPage);
$scope.results.pagination = [];
for (var i = 1; i <= 100; i++) {
if(totalItems > 0)
$scope.results.totalItems = totalItems;
$scope.results.queryTime = totalTime;
$scope.results.pagination = searchService.formatResults(es_return.hits.hits);
}
}
)
};
И тогда эти функции я использую для пагинацией
$scope.paginate = function() {
var begin = (($scope.currentPage - 1) * $scope.itemsPerPage);
var end = begin + $scope.itemsPerPage;
$scope.results.documents = $scope.results.pagination.slice(begin, end);
};
$scope.changePage = function() {
$scope.paginate();
};
Я уверен, что виновником этой проблемы является эта строка в $ scope.search()
$scope.results.pagination "=" searchService.formatResults(es_return.hits.hits);
в частности знак равенства ...?
Я все еще учусь JS и angularjs, так что я не совсем уверен, что следует заменить «=» ... так что появляются начальные 10 результатов
спасибо за простой ответ, я переусердствовал это - одна строка простого кода, и это работает! – user3125823