我想获得Angular UI Boostrap分页控件与Web API控制器填充的表一起工作。AngularJS UI Bootstrap分页控制关闭一页
我有一个是在分页控制中使用的指令:
app.filter('pagination', function() {
return function (input, start) {
start = +start;
return input.slice(start);
};
});
我在我的角度控制器的以下:
$scope.currentPage = 0;
// max items per page
$scope.pageSize = 10;
// number of pagination buttons to display
$scope.numberButtons = 5;
// total items in the array
$scope.totalItems = 0;
// number of pages
$scope.numberPages = 0
在视图中,我有以下(截断简洁):
...
<tr data-ng-repeat="assetType in assetTypes | filter:searchFilter
| pagination: currentPage * pageSize | limitTo: pageSize
| orderBy:sortType:sortReverse">
<td><a href="#/asset-type-details/{{assetType.AssetTypeId}}">{{ assetType.AssetTypeId }}</a></td>-->
<td>{{ assetType.AssetTypeName }}</td>
<td>{{ assetType.Active | yesNo }}</td>
</tr>
</table>
<uib-pagination ng-show="totalItems" total-items="totalItems" max-size="numberButtons" ng-model="currentPage" class="pagination-sm" boundary-link-numbers="true" rotate="false"></uib-pagination>
我遇到的问题是当视图initally上来,everyt兴是好的。按照预期,前10个项目(按Id排序)以Ids 1-10(例如)开始。但是,当我离开第一页导航并返回到第一页时,我得到项目11-20而不是1-10。
当我使用自定义传呼机控件时,顶部的角度过滤器工作正常,但当您从第一页导航时,角度UI似乎偏离了一页。
另外,项目数量($ scope.totalItems)和页面数量($ scope.numberPages)正在我的控制器方法中设置,这里没有描述。
任何帮助表示赞赏
编辑:我注意到另一件事是,当我浏览到最后一页,它没有返回数据,所以分页的整个范围由一个似乎关闭。
编辑2:好吧,看来我得到它的工作。我不得不在当前页设置为1,而不是0:
$scope.currentPage = 1;
然后改变我的分页控制减去1(当前是-1):
<tr data-ng-repeat="assetType in assetTypes | filter:searchFilter
| pagination: (currentPage-1) * pageSize | limitTo: pageSize
| orderBy:sortType:sortReverse">
如果这证明了我将它张贴作为当我被允许时的答案。