У меня ниже HTML:
<table st-table="displayedCollection"
st-safe-src="rowCollection"
class="table table-striped"
st-pipe="callServer">
<thead>
<tr>
<th st-sort="id">id</th>
<th st-sort="name">name</th>
</tr>
</thead>
<tbody ng-show="!isLoading">
<tr ng-repeat="row in displayedCollection">
<td>{{row.id}}</td>
<td>{{row.name}}</td>
</tr>
</tbody>
<tbody ng-show="isLoading">
<tr>
<td colspan="2" class="text-center">Loading ... </td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="text-center" colspan="2">
<div
st-template="templates/plugins/pagination.html"
st-pagination=""
st-items-by-page="10"
class="ng-isolate-scope">
</div>
</td>
</tr>
</tfoot>
</table>
У меня есть код ниже в контроллере:
$scope.callServer = function callServer(tableState) {
var pagination = tableState.pagination;
var start = pagination.start || 0;
var size = pagination.number || 10;
console.log('tableState:', tableState);
$scope.isLoading = true;
TestSuiteService.getPage(start, size, tableState).then(function (response) {
$scope.rowCollection = response.results;
$scope.displayedCollection = [].concat($scope.rowCollection);
tableState.pagination.numberOfPages = response.numberOfPages;
$scope.isLoading = false;
});
};
у меня ниже st-template
<div class="pagination" ng-if="pages.length >= 2">
<ul class="pagination">
<li ng-if="currentPage > 1">
<a ng-click="selectPage(1)"><<</a>
</li>
<li ng-if="currentPage > 1">
<a ng-click="selectPage(currentPage-1)"><</a>
</li>
<li ng-repeat="page in pages" ng-class="{active: page==currentPage}">
<a ng-click="selectPage(page)">{{page}}</a>
</li>
<li ng-if="currentPage < numPages">
<a ng-click="selectPage(currentPage+1)">></a>
</li>
<li ng-if="currentPage < numPages">
<a ng-click="selectPage(numPages)">>></a>
</li>
</ul>
</div>
Когда я нажимаю на страницу, она извлекает данные с сервера и отображает их в таблице, но страница не выбирается. Из-за этого ссылки на предыдущую и последнюю страницы также не отображаются. Страница 1 всегда остается активной.