AngularJS UI bootstrap pagination directiveを使用して小さな検索アプリでページ付けを完了しようとしています。最初の検索後に最初の10件の結果が表示されないことを除いて、ほとんど動作しています。AngularJSページングがほとんど動作します
最初の100個の結果がロードされ、ページごとに10個ずつ表示されるように分割されます。しかし、最初の10ページは、ページ化したページの "1"リンクをクリックした後、UNTILに表示されません。
これは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);
特に等号...?
初期10回の結果は
シンプルな答えをいただきありがとうございます。私はこれを思い描いていました。シンプルなコードの1行で動作します! – user3125823