我正在尝试在我的角度应用程序中实现分页。我有1000多本书,我希望我的currentPage / totalPages
vars根据filter
编辑ngRepeat
进行更新。
这是我目前的Angular代码:
function Books($scope, $http, $rootScope){
$scope.books = [1000+ books];
$scope.filteredbooks = [];
$scope.numberOfPages = function(){
return Math.ceil($scope.filteredbooks.length / $scope.pageSize);
}
}
我的下一个/上一个按钮:
<button ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1">
Previous
</button>
{{currentPage+1}}/{{numberOfPages()}}
<button ng-disabled="currentPage >= data.length/pageSize - 1"
ng-click="currentPage=currentPage+1">
Next
</button>
这是我的ngRepeat:
<tr ng-repeat="book in (filteredbooks = books | filter: search) |
orderBy: 'title' | startFrom: currentPage * pageSize |
limitTo: pageSize">
{{book.title}}
</tr>
我的问题是filteredbooks
中的ngRepeat
未设置$scope.filteredbooks
,因此我的总页数不会更新。有没有办法做到这一点?
还有一个事件或指令,我可以在搜索词被更改时将我的$scope.currentPage
设置为0?
提前致谢!
编辑:这是一个带有搜索框的示例的小提琴:http://jsfiddle.net/4LRbN/