我正在尝试为我的应用程序部分使用分页,从SharePoint中的列表中检索项目。
在App.js中:
var app = angular.module('listWebs', ['ui.bootstrap'])
.controller('MainCtrl', function ($scope, $q) {
jQuery.getScript(layoutsRoot + "SP.Runtime.js", function () {
jQuery.getScript(layoutsRoot + "sp.js", function () {
jQuery.getScript(layoutsRoot + "SP.RequestExecutor.js", function () {
getWebs()
.then(function (result) {
$scope.webs = result;
//Pagination
setPagination(result);
});
}); // End of getscript SP.RequestExecutor.js
}); // End of getscript SP.js
}); // End of getscript SP.Runtime.js
function setPagination(result) {
$scope.totalItems = result.length;
$scope.currentPage = 1;
$scope.noOfPages = function () {
return Math.ceil(result.length / $scope.pageSize);
};
}
function getWebs(RETURNS PROMISE AFTER GETTING RESULTS FROM SP LIST)
.....
在Index.html:
<table class="table table-hover">
<thead>
<tr class="active">
<th>
Name
</th>
<th>
Created
</th>
</tr>
</thead>
<tbody ng-repeat="web in webs | limitTo:pageSize">
<tr>
<td>
{{web.title}}
</td>
<td>
{{web.created | date:dateFormat}}
</td>
</tr>
</tbody>
</table>
<pagination ng-show="totalItems.length > 0" boundary-links="true" total-items="totalItems" ng-model="currentPage" num-pages="noOfPages" class="pagination-sm" previous-text="‹" next-text="›" first-text="«" last-text="»"></pagination>
我无法显示2页,有人知道为什么吗?我都试过Math.ceil(返回1.2)和一个固定值(2),但没有任何效果。该列表包含6个项目,我设置了限制pageSize为5(它只显示5个项目)。
编辑:根据0.6.0的更改日志:“页数不是由num-pages定义的,而是来自total-items&amp; items-per-pages。如果items-per -page缺失,默认为10.“
所以它不使用num-pages,而是让它使用total-items和items-per-pages。我正在使用vers。 0.11.2。