代码拉取完成,页面将自动刷新
app.directive('isolatedScope', function () {
return {
scope: {},
...
};
});
module.directive('bootPager', [function() {
return {
scope: {
pobj: '='
},
restrict: 'EA',
templateUrl: 'Pager.html',
link: function($scope, iElm, iAttrs, controller) {
$scope.selectPage = function(page) {
//不能小于1大于最大
if (page < 1 || page > $scope.pages) return;
//显示9页(第五页开始向后加载)
if (page > 5) {
var newpageList = [];
for (var i = (page - 5); i < ((page + 4) > $scope.pages ? $scope.pages : (page + 4)); i++) {
newpageList.push(i + 1);
}
$scope.pageList = newpageList;
}
else {
var newpageList = [];
for (var i = 0; i < $scope.newPages; i++) {
newpageList.push(i + 1);
}
$scope.pageList = newpageList;
}
$scope.pobj.index = page;
$scope.isActivePage(page);
};
//设置当前选中页样式
$scope.isActivePage = function(page) {
return $scope.pobj.index == page;
};
//上一页
$scope.Previous = function() {
$scope.selectPage($scope.pobj.index - 1);
}
//下一页
$scope.Next = function() {
$scope.selectPage($scope.pobj.index + 1);
};
},
controller: ['$scope', function($scope) {
//一般监控进入两次(初始化一次,count一般变化一次)
$scope.$watch('pobj.count', function(newValue, oldValue){
if ($scope.pobj.index == 1 && $scope.pobj.items && $scope.pobj.items.length > 0) {
$scope.pageSize = 10;
//分页数
$scope.pages = Math.ceil($scope.pobj.count / $scope.pageSize);
$scope.newPages = $scope.pages > 9 ? 9 : $scope.pages;
$scope.pageList = [];
//分页页码数组
for (var i = 0; i < $scope.newPages; i++) {
$scope.pageList.push(i + 1);
}
}
}, true);
}]
};
}]);
<nav style="cursor:pointer;text-align: center;">
<ul class="pagination">
<li>
<a ng-click="selectPage(1)">
<span>首页</span>
</a>
</li>
<li>
<a ng-click="Previous()">
<span>上一页</span>
</a>
</li>
<li ng-repeat="page in pageList" ng-class="{active: isActivePage(page)}">
<a ng-click="selectPage(page)">{{ page }}</a>
</li>
<li>
<a ng-click="Next()">
<span>下一页</span>
</a>
</li>
<li>
<a ng-click="selectPage(pages)">
<span>尾页</span>
</a>
</li>
</ul>
</nav>
<boot-pager pobj="pobj">
</boot-pager>
angular.module('app',[])
.controller('testController',['$scope','$http',function($scope,$http){
//初始化
$scope.pobj = {
items: [],
count: 0,
index: 1
};
//服务器获取数据
$scope.$watch('pobj.index', function(nValue, oValue){
console.log($scope.pobj.index);
if ($scope.pobj.index > 0) {
$http.get('Service.js').then(function(res) {
$scope.pobj.items = res.data.records.slice(($scope.pobj.index - 1) * 10, ($scope.pobj.index - 1) * 10 + 10);
$scope.pobj.count = res.data.records.length;
});
}
}, true);
}]);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型