<!doctype html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="bootstrap.min.css">
<style>
#divMain {
padding:30px 100px;
}
nav {
position: relative;
width:100%;
height: 50px;
}
.pagination {
right: 0;
position: absolute;
top: -30px;
}
nav li {
cursor: pointer;
}
input{
margin-bottom: 20px;
}
</style>
</head>
<body>
<div id="divMain" ng-app="myApp" ng-controller="myCtrl">
<!--<input ng-model="name">-->
<input ng-model="search"/> 搜索
<table class="table table-bordered table-responsive table-striped table-hover">
<thead class="">
<tr>
<th>id</th>
<th>名称</th>
<th>内容</th>
<th style="width:80px;">方法</th>
<th>方式</th>
</tr>
</thead>
<tr ng-repeat="e in items | filter:search " >
<td>{{e.id}}</td>
<td>{{e.item_name}}</td>
<td>{{e.content}}</td>
<td>{{e.way}}</td>
<td>{{e.method}}</td>
</tr>
</table>
<nav>
<ul class="pagination">
<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>
</ul>
</nav>
</div>
<script src="angular.min.js"></script>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function ($scope, $http) {
$http.get('http://10.6.148.22/catalogue/get_service_item').then(function (response) {
//数据源
$scope.data = response.data.data;
//分页总数
$scope.pageSize = 15;
$scope.pages = Math.ceil($scope.data.length / $scope.pageSize); //分页数
$scope.newPages = $scope.pages > 5 ? 5 : $scope.pages;
$scope.pageList = [];
$scope.selPage = 1;
//设置表格数据源(分页)
$scope.setData = function () {
$scope.items = $scope.data.slice(($scope.pageSize * ($scope.selPage - 1)), ($scope.selPage * $scope.pageSize));
//通过当前页数筛选出表格当前显示数据
};
$scope.items = $scope.data.slice(0, $scope.pageSize);
//分页要repeat的数组
for (var i = 0; i < $scope.newPages; i++) {
$scope.pageList.push(i + 1);
}
//打印当前选中页索引
$scope.selectPage = function (page) {
//不能小于1大于最大
if (page < 1 || page > $scope.pages) return;
//最多显示分页数5
if (page > 2) {
//因为只显示5个页数,大于2页开始分页转换
var newpageList = [];
for (var i = (page - 3) ; i < ((page + 2) > $scope.pages ? $scope.pages : (page + 2)) ; i++) {
newpageList.push(i + 1);
}
$scope.pageList = newpageList;
console.log(newpageList)
}
$scope.selPage = page;
$scope.setData();
$scope.isActivePage(page);
console.log("选择的页:" + page);
};
//设置当前选中页样式
$scope.isActivePage = function (page) {
return $scope.selPage == page;
};
//上一页
$scope.Previous = function () {
$scope.selectPage($scope.selPage - 1);
};
//下一页
$scope.Next = function () {
$scope.selectPage($scope.selPage + 1);
};
});
})
</script>
</body>
</html>

最新文章

  1. EF6+MVC5之Oracleo数据库的Code First方式实现
  2. linux ulimit调优
  3. CUDA学习笔记(二)——CUDA线程模型
  4. startActivityForResult用法详解
  5. 定时组件quartz系列&lt;一&gt;模拟定时组件小程序
  6. HTML5 中的一些新特性
  7. 在把数据库文件放在raw中,在应用程序中如何打开
  8. Android Studio之同一应用创建多个Activity(一)
  9. Floating IP in OpenStack Neutron
  10. Asp.net core 2.0.1 Razor 的使用学习笔记(一)
  11. hbase 程序优化 参数调整方法
  12. Linux nohup 命令
  13. pytorch, LSTM介绍
  14. java深copy (伪深copy)【原】
  15. 艾妮记账本Web开发(开发版)
  16. rsync实现数据备份
  17. 20135337——Linux内核分析:第十七章 模块与设备
  18. SpringAOP学习第一天 @Pointcut注解
  19. POJ 2010 Moo University - Financial Aid (优先队列)
  20. docker(二)部署docker容器虚拟化平台

热门文章

  1. DHCP详解
  2. 17.4.3 使用MulticastSocket实现多点广播(4)
  3. 【转贴】 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换
  4. CodeForces 621C Wet Shark and Flowers
  5. 使用node-livereload自动刷新页面
  6. jquery.mustache.js使用
  7. IOS之富文本编辑
  8. Hibernate 中对象关系映射(ObjectRelationMapping)
  9. Dom编程(二)
  10. Struts加入拦截器后取不到页面参数