2015-12-16 55 views
-3

我目前使用Elasticsearch和AngularJS搜索應用程序進行無限滾動分頁。我正在嘗試更改「常規」分頁(例如Google或Bing搜索引擎)。我試圖使用AngularJS UI Bootstrap分頁,但似乎無法使其工作。它顯示正確,但點擊操作不起作用 - 不會加載下一組結果。將無限滾動分頁更改爲逐頁分頁

下面是AngularJS UI引導分頁指令的HTML:

<uib-pagination class="pagination" ng-model="currentPage" ng-change="getNextPage(currentPage)" ng-click="getNextPage()" ng-if="canGetNextPage" total-items="totalItems" max-size="noOfPages" direction-links="true" items-per-page="itemsPerPage"> 

下面是無限滾動相關的JS代碼:

$scope.getNextPage = function() { 
    $scope.resultsPage++; 
    getResults(); 

};

和$ watchGroup:

$scope.$watchGroup(['results', 'noResults', 'isSearching', 'totalItems', 'currentPage + itemsPerPage'], function() { 
    var totalItems = $scope.results.documentCount; 

    if (!totalItems || totalItems <= $scope.results.documents.length || $scope.noResults || $scope.isSearching) { 
     $scope.canGetNextPage = false; 
    } 
    else { 
     $scope.canGetNextPage = true; 
    } 
    }); 

我已試過很多教程(here)和here以及本SO question上這一點,但無論怎樣,我不能得到的點擊動作有效。我通常將點擊操作代碼放在getNextPage函數中,並且保留其他代碼,因爲Bootstrap分頁指令是假設要處理的。

我也在調查this pagination directive但不確定這是否是更好的解決方案。

我想做客戶端分頁與服務器端,我只加載前1000個JSON結果,所以應該沒問題。

任何幫助進入點擊動作或者更好的解決方案,我不知道會是偉大的!

+1

你有沒有說法真的只是刪除你的問題內容,​​因爲你沒有得到足夠快的答案?是的,如果你需要一個答案asasp它不會幫助,但人們在解決問題後幾個月遇到問題。 – ste2425

+0

@ ste2425速度與它無關。我以前會刪除這個問題,但它已經回答了我之前見過的一個項目的鏈接。事實上,我之前已經看到過多次與相同問題有關的鏈接 - 試圖獲得與我的問題 – user3125823

回答

0

有一個名爲ElasticUI項目,它是一個集AngularJS指令,可以幫助你,尤其是在尋呼方

+0

不同的答案,感謝您的鏈接,並且我之前見過該項目,此時我決定不使用它 – user3125823

0

更改inifinite滾動,如果需要更換具有環結構