注:css用的是amazeui

html:

···
<div style="height:500px;overflow: auto;">
<table class="am-table" style="width:100%;padding: 10px 30px ">
<tr>
<td>序号</td>
<td>姓名</td>
<td>电话</td>
<td>年龄</td>
</tr>
<tr ng-repeat="items in list" class="gradeX">
<td>{{$index+1}}</td>
<td>{{items.name}}</td>
<td>{{items.tel}}</td>
<td>{{items.age}}</td>
</tr>
</table>
</div>
<ul class="am-pagination am-pagination-right">
<li ng-class="{true:'am-disabled'}[ 1 == currentPage]"><a href ng-click="firstPage()">首页</a></li>
<li ng-class="{true:'am-disabled'}[ 1 == currentPage]"><a href ng-click="prevPage()">上一页</a></li>
<li ng-class="pageTool_fun({{n}},'1')" ng-repeat="n in pageToolCursor"><a id="{{n}}" href ng-click="gotoXpage(n)">{{n}}</a></li>
<li><a>共{{itemsPerPage}}页 ({{totalRow}}条数据)</a></li>
<li ng-class="{true:'am-disabled'}[ (currentPage) == itemsPerPage]"><a href ng-click="nextPage()">后一页</a></li>
<li ng-class="{true:'am-disabled'}[ (currentPage) == itemsPerPage]"><a href ng-click="lastPage()">尾页</a></li>
</ul>
···

js:

···
var reqUrl = '***';
var dataObj = { //针对个人后台的请求数据,根据情况修改
'pageNumber': 1,
'pageSize': 10,
'id': ''
} $scope.list = [];
$scope.currentPage = 1; //当前页
$scope.totalRow = 0; //总条数
$scope.itemsPerPage = 0; //总页数
$scope.pageToolCursor = []; //截取的页码

//首页
$scope.firstPage = function() {
dataObj.pageNumber = 1;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj) //针对个人用params传参
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == '0') {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
//初始化页码下标,最多只取前9页
var itemsNum = 9;
if ($scope.itemsPerPage < 9) {
itemsNum = $scope.itemsPerPage;
}
for (i = 1; i <= itemsNum; i++) {
$scope.pageToolCursor.push(i);
}
} else {
alert('获取数据失败!');
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
});
} //上一页
$scope.prevPage = function() {
if (!($scope.currentPage == 1)) {
var reqpages = $scope.currentPage - 1;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
var pageToolCursor = $scope.pageToolCursor;
if ($scope.currentPage <= pageToolCursor[0]) {
if (pageToolCursor[0] == 1) {return;
}
var arrayObj = new Array();
if ($scope.currentPage < 9) {
$scope.pageToolCursor = ['1', '2', '3', '4', '5', '6', '7', '8', '9']; } else {
for (i = $scope.currentPage; i > $scope.currentPage - 9; i--) {
arrayObj.unshift(i);
}
$scope.pageToolCursor = arrayObj;
}
}
} else {
alert("获取数据失败 !");
}
}).error(function(response, status, headers, config) {
alert('获取数据失败..');
});
}
}; //下一页
$scope.nextPage = function() {
if (!($scope.currentPage == $scope.itemsPerPage)) {
var reqpages = $scope.currentPage + 1;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
var pageToolCursor = $scope.pageToolCursor;if ($scope.currentPage >= pageToolCursor[pageToolCursor.length - 1]) {
if (pageToolCursor[pageToolCursor.length - 1] == $scope.itemsPerPage) {
return;
}
var arrayObj = new Array();
var enditems = 0;
var compareNUm = $scope.itemsPerPage - pageToolCursor[pageToolCursor.length - 1];
if (compareNUm < 9 && compareNUm > 0) {
enditems = $scope.itemsPerPage - pageToolCursor[pageToolCursor.length - 1];
for (i = $scope.currentPage + enditems; i > $scope.currentPage + enditems - 9; i--) {
arrayObj.unshift(i);
}
} else {
enditems = 9;
for (i = $scope.currentPage; i < $scope.currentPage + enditems; i++) {
arrayObj.push(i);
}
}
$scope.pageToolCursor = arrayObj;
}
} else {
alert("获取数据失败!");
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
});
} }; //尾页
$scope.lastPage = function() {
if ($scope.currentPage == $scope.itemsPerPage) {
return;
}
var reqpages = $scope.itemsPerPage;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
var arrayObj = new Array();
if ($scope.itemsPerPage > 9) {
for (i = $scope.itemsPerPage; i > $scope.itemsPerPage - 9; i--) {
arrayObj.unshift(i);
}
$scope.pageToolCursor = arrayObj;
}
} else {
alert("获取数据失败!");
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
});
}; //按页面 进入对应页
$scope.gotoXpage = function(x) {
if (x > $scope.itemsPerPage) {
return;
}
var reqpages = x;
dataObj.pageNumber = reqpages;
$http({
method: 'get',
params: {
param: $.toJSON(dataObj)
},
data: {},
url: reqUrl
})
.success(function(response, status, headers, config) {
var rstate = response.result;
if (rstate == "0") {
var _data = response.message;
$scope.list = _data.list;
$scope.currentPage = _data.pageNumber;
$scope.totalRow = _data.totalRow;
$scope.itemsPerPage = _data.itemsPerPage;
} else {
alert("获取数据失败!");
}
})
.error(function(response, status, headers, config) {
alert('获取数据失败..');
}); };
//设置页码 - 当前页 高亮显示
$scope.pageTool = function(n) {
var currentPage = $scope.currentPage;
var returStr = "";
if (n == currentPage) {
returStr = "am-active";
}
if (n > $scope.itemsPerPage) {
returStr = "am-disabled";
}
return returStr;
};
···

angulatJs 前端数据分页展示——例的更多相关文章

  1. js静态数据分页展示

    拿vue做示例 首先定义data data() { return { tableData: [], // 当前页的数据,用于给表格展示用的 tableDataAll: [], // 需要拿来分页的总数 ...

  2. ssh整合问题总结--使用HibernateTemplate实现数据分页展示

    在进行大量的数据展示时,必须要使用分页查询,第一次使用在SSH框架整合中使用分页查询,遇到了一些问题,下面以我练习的项目为例详细介绍,如何在Spring+hibernate(+action)的环境下完 ...

  3. vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)

    文章目录 1.看实现的效果 2.前端vue页面核心代码 2.1. 表格代码(表格样式可以去elementui组件库直接调用相应的) 2.2.分页组件代码 2.3 .script中的代码 3.后端核心代 ...

  4. Antd 表格数据分页展示

    分页组件代码 render(){ const {total,size,currenPage} = this.state // 参数分别为数据总条数.每页数据条数.当前页页码 return ( // 渲 ...

  5. Python通过分页对数据进行展示

    # 通过分页对数据进行展示 """ 要求: 每页显示10条数据 让用户输入要查看的页面:页码 """ USER_LIST = [] for ...

  6. MySQL+Service+Servlet+Jsp实现Table表格分页展示数据

    下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据: eg:请假管理系统 要求如下: 一.打开首页页面, 访问查询请假记录的 servlet , ...

  7. js 从一个json拼接成另一个json,并做json数据分页table展示

    先给数据: //原始json数据json = [{"id":"1","aid":"013","performa ...

  8. ThinkPHP快速实现数据分页(前端/后端分离)

    数据 分页 可能是web 编程里最常用到的功能之一.thinkphp 实现分页功能十分简洁.只需要定义 几个参数 就能搞定.当然,扩展也是十分方便的. 让我们现在就开始thinkphp的分页实现吧. ...

  9. Handlebars的基本用法 Handlebars.js使用介绍 http://handlebarsjs.com/ Handlebars.js 模板引擎 javascript/jquery模板引擎——Handlebars初体验 handlebars.js 入门(1) 作为一名前端的你,必须掌握的模板引擎:Handlebars 前端数据模板handlebars与jquery整

    Handlebars的基本用法 使用Handlebars,你可以轻松创建语义化模板,Mustache模板和Handlebars是兼容的,所以你可以将Mustache导入Handlebars以使用 Ha ...

随机推荐

  1. sleep()方法和wait()方法的区别? sleep()方法和yield()方法的区别?

    sleep()方法和wait()方法的区别? sleep方法是Thread的静态方法,wait方法是Object类的普通方法 sleep方法不释放同步锁,wait方法释放同步锁(执行notify方法唤 ...

  2. ASP.NET MVC 学习笔记之TempData、HttpContext和HttpContextBase杂谈

    TempData本质上是Session 但是有一点不同的是,TempData被赋值之后,一旦被Action访问一次之后,马上就会清空. System.Web.HttpContext 和System.W ...

  3. tinkphp5.0目录结构说明

    tinkphp5.0目录结构说明 project 应用部署目录 ├─application 应用目录(可设置) │ ├─common 公共模块目录(可更改) │ ├─index 模块目录(可更改) │ ...

  4. 面试经典:链表中倒数第k个结点?如何从大量数据中找出高频词?

    记录两道面试题: 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(单向链表) 拿到这个问题的时候自然而然会想到让链表从末尾开始next   K-1 次不就是第K-1个节点了么,但是必须要注意一 ...

  5. 快速上手的Glide4.x教程

    安卓基础开发库,让开发简单点. DevRing & Demo地址:https://github.com/LJYcoder/DevRing 学习/参考地址: https://blog.csdn. ...

  6. Install ncurses (ncurses-devel) and try again

    apt install libncurses5-dev libncursesw5-dev

  7. hdu 3374 最大最小表示法 next

    题目大意: 就是求一个串的最大最小表示法的开始下标,然后求有多少个做大最小表示,输出格式为 最小表示下标 它的个数 最大表示下标 它的个数 基本思路: 最小最大表示法模板题,然后求一下循环节,很容易知 ...

  8. hdu 4300 拓展kmp

    题目大意: 输入样例个数,每个样例有两行,第一行是26个字母,分别代表a~z加密后的密文:第二行代表一串密文+明文,密文一定是完整的,但明文可能不完整,让你输出最短的(密文+明文): 基本思路: 拓展 ...

  9. jq enter键发送

    $('.content').keypress(function(e) { if(e.keyCode === 13) { //调用接口 return false; } }) .

  10. Delphi 窗体函数 ShowScrollBar 控制滚动条

    API函数 函数来源:FUNCTION ulong ShowScrollBar(ulong hwnd,ulong wBar,ulong bShow) LIBRARY "user32.dll& ...