我正在对 Angular 表格进行分页,并希望显示表格下方的所有页码。
我计划创建一个页码数组,然后使用 ng-repeat 来显示它们:
HTML
<tr ng-repeat-start="item in c.filteredList = (c.data | dynamicFilter:c.filter | orderBy:c.sortOrder.order:c.sortOrder.reverse)">
JS
this.checkPage = function(){
this.pageNumArr = [];
for(i=0; i<this.filteredList.length/this.perPage; i++){
this.pageNumArr.push(i);
}
}
其中 this.perPage
是每页的项目数(由用户设置)。
我不知道如何在过滤器更改时触发 checkPage()
。
最佳答案
您最好将页码 ng-repeat 绑定(bind)到创建并返回页码数组的函数。这将为该函数创建一个观察程序并使页码数组保持最新。
无需在 Controller 中手动创建 $watch。
this.pageNumbers= function(){
var pageNumArr = [];
for(i=0; i<this.filteredList.length/this.perPage; i++){
pageNumArr.push(i);
}
return pageNumArr
}
<span ng-repeat="page in c.pageNumbers()">{{page}}</span>
关于javascript - AngularJS:过滤器更改时的触发功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35091157/