У меня уже есть разбиение на страницы. Теперь я хочу, чтобы разбиение на страницы было обновлено после фильтрации моих результатов.
Форма:
<input type="text" data-ng-model="search.name" data-ng-change="filter()"/>
Список:
<li data-ng-repeat="data in filtered = (list | filter:search) | filter:search | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit">{{data.name}}</li>
Разбивка страницы:
<pagination data-boundary-links="true" data-num-pages="noOfPages" data-current-page="currentPage" max-size="maxSize"></pagination>
Контроллер:
$scope.filter = function() {
window.setTimeout(function() { //wait for 'filtered' to be changed
$scope.noOfPages = Math.ceil($scope.filtered.length/$scope.entryLimit);
$scope.setPage = function(pageNo) {
$scope.currentPage = pageNo;
};
}, 10);
};
Моя проблема в том, что разбиение на страницы просто обновляется после нажатия на номер страницы или после ввода следующего символа в поле ввода. Поэтому он обновляет один шаг до конца.
EDIT: я добавил источник в jsFiddle: http://jsfiddle.net/eqCWL/2/