将自定义 ng-repeat 分页与 Controller 绑定
bind custom ng-repeat pagination with Controller
我正在使用 ng-repeat 创建自定义分页,但问题是我想将分页绑定到控制器...这样当我单击分页按钮时它应该在视图中显示该内容..
app.controller("pagCtrl", function ($scope, $xml) {
$scope.myobj = obj;
$scope.viewby = 1;
$scope.totalItems = $scope.myobj.ques.length;
$scope.currentPage = 1;
$scope.itemsPerPage = $scope.viewby;
$scope.maxSize = 5;
$scope.setPage = function (pageNo) {
$scope.currentPage = pageNo;
};
$scope.pageChanged = function () {
};
$scope.setItemsPerPage = function (num) {
$scope.itemsPerPage = num;
$scope.currentPage = 1;
}
我的观点
<div ng-controller="pagctrl">
</div>
我的自定义 bootstrap 代码
<ul class="pagination ">
<li ng-repeat=" opt in myobj.ques" >
<a href="">{{ $index+1 }}</a>
</li>
</ul>
我想将它与控制器绑定,这样当我按下 1 时,它应该在 div 中显示内容 1,当我按下按钮 2 时,它应该在视图中显示内容 2
您需要总页数;
$scope.totalPages = $scope.totalItems/$scope.maxSize;
app.controller("pagCtrl", function ($scope, $xml) {
$scope.myobj = obj;
$scope.viewby = 1;
$scope.totalItems = $scope.myobj.ques.length;
$scope.currentPage = 1;
$scope.itemsPerPage = $scope.viewby;
$scope.maxSize = 5;
$scope.totalPages = $scope.totalItems/$scope.maxSize;
$scope.setPage = function (pageNo) {
$scope.currentPage = pageNo;
};
$scope.pageChanged = function () {
};
$scope.setItemsPerPage = function (num) {
$scope.itemsPerPage = num;
$scope.currentPage = 1;
}
<ul class="pagination ">
<li ng-repeat=" ng-repeat="n in [] | range:totalPages"" >
<a href="">{{ $index+1 }}</a>
</li>
</ul>
为您的申请筛选
location_manager.filter('pagination', function() {
return function(input, start) {
start = +start;
return input.slice(start);
};
});
分页Div
<--Pagination div --->
<div class="pagination-div" ng-show="datalists.length">
<ul>
<li>
<button type="button" ng-disabled="curPage == 0"
ng-click="curPage=curPage-1">PREV</button>
</li>
<li>
<span>Page {{curPage + 1}} of {{ numberOfPages() }}</span>
</li>
<li>
<button type="button"
ng-disabled="curPage >= datalists.length/pageSize - 1"
ng-click="curPage = curPage+1">NEXT </button>
</li>
</ul>
</div>
控制器
angular.module('sampleproject').controller( 'SampleController',
function ($rootScope, $scope ,samplefactoryService )
{
// pagination
$scope.curPage = 0;
$scope.pageSize = 5;
$scope.datalists = data ;// response from service
$scope.numberOfPages = function()
{
return Math.ceil($scope.datalists.length / $scope.pageSize);
};
});
我正在使用 ng-repeat 创建自定义分页,但问题是我想将分页绑定到控制器...这样当我单击分页按钮时它应该在视图中显示该内容..
app.controller("pagCtrl", function ($scope, $xml) {
$scope.myobj = obj;
$scope.viewby = 1;
$scope.totalItems = $scope.myobj.ques.length;
$scope.currentPage = 1;
$scope.itemsPerPage = $scope.viewby;
$scope.maxSize = 5;
$scope.setPage = function (pageNo) {
$scope.currentPage = pageNo;
};
$scope.pageChanged = function () {
};
$scope.setItemsPerPage = function (num) {
$scope.itemsPerPage = num;
$scope.currentPage = 1;
}
我的观点
<div ng-controller="pagctrl">
</div>
我的自定义 bootstrap 代码
<ul class="pagination ">
<li ng-repeat=" opt in myobj.ques" >
<a href="">{{ $index+1 }}</a>
</li>
</ul>
我想将它与控制器绑定,这样当我按下 1 时,它应该在 div 中显示内容 1,当我按下按钮 2 时,它应该在视图中显示内容 2
您需要总页数;
$scope.totalPages = $scope.totalItems/$scope.maxSize;
app.controller("pagCtrl", function ($scope, $xml) {
$scope.myobj = obj;
$scope.viewby = 1;
$scope.totalItems = $scope.myobj.ques.length;
$scope.currentPage = 1;
$scope.itemsPerPage = $scope.viewby;
$scope.maxSize = 5;
$scope.totalPages = $scope.totalItems/$scope.maxSize;
$scope.setPage = function (pageNo) {
$scope.currentPage = pageNo;
};
$scope.pageChanged = function () {
};
$scope.setItemsPerPage = function (num) {
$scope.itemsPerPage = num;
$scope.currentPage = 1;
}
<ul class="pagination ">
<li ng-repeat=" ng-repeat="n in [] | range:totalPages"" >
<a href="">{{ $index+1 }}</a>
</li>
</ul>
为您的申请筛选
location_manager.filter('pagination', function() {
return function(input, start) {
start = +start;
return input.slice(start);
};
});
分页Div
<--Pagination div --->
<div class="pagination-div" ng-show="datalists.length">
<ul>
<li>
<button type="button" ng-disabled="curPage == 0"
ng-click="curPage=curPage-1">PREV</button>
</li>
<li>
<span>Page {{curPage + 1}} of {{ numberOfPages() }}</span>
</li>
<li>
<button type="button"
ng-disabled="curPage >= datalists.length/pageSize - 1"
ng-click="curPage = curPage+1">NEXT </button>
</li>
</ul>
</div>
控制器
angular.module('sampleproject').controller( 'SampleController',
function ($rootScope, $scope ,samplefactoryService )
{
// pagination
$scope.curPage = 0;
$scope.pageSize = 5;
$scope.datalists = data ;// response from service
$scope.numberOfPages = function()
{
return Math.ceil($scope.datalists.length / $scope.pageSize);
};
});