注: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. grafana初体验

    1.centos版下载安装 wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.4-1.x86_6 ...

  2. 推荐MarkDown编辑工具Typora--文本画流程图示例

    程序员界名言:talk is cheap, show me the code CODE: ### 8. 修改预留手机号-per.MCReservedMobilePhoneUpd #### 8.1业务规 ...

  3. psql 命令

    (1)使用命令行连接数据库 psql -U postgres -h localhost -p 5433 (2)列出所有的数据库 \l -- 查看所有数据库 (3)进入某个数据库 \c name -- ...

  4. go 学习Printf

    package main import "fmt" import "os" type point struct { x, y int } func main() ...

  5. MySQL练习题--sqlzoo刷题2

    SELECT from Nobel Tutorial 1.Change the query shown so that it displays Nobel prizes for 1950. SELEC ...

  6. redux 基础

    antd 的使用 1.安装npm install antd --save 2.引入到项目中 import 'antd/dist/antd.css'; // or 'antd/dist/antd.les ...

  7. codeforces 1B 模拟

    题目大意: 给出两种行列位置的表示方法,一个是Excel表示法,一个是(R,C)坐标表示.给出一种表示,输出另外一种表示. 基本思路: 模拟,首先判断是哪一种表示法,然后转换成另外一种表示方法: 我做 ...

  8. oscache缓存

    oscache 使用总结 Posted on 2009-05-22 22:45 青果 阅读(1270) 评论(2)  编辑  收藏 所属分类: 技术点滴  前阵子对公司网站进行了性能优化,其中,有一项 ...

  9. (转载)js引擎的执行过程(二)

    概述 js引擎执行过程主要分为三个阶段,分别是语法分析,预编译和执行阶段,上篇文章我们介绍了语法分析和预编译阶段,那么我们先做个简单概括,如下: 语法分析: 分别对加载完成的代码块进行语法检验,语法正 ...

  10. Yii2的一些问题

    Yii2中删除能不能串着用 Yii2中find.findAll有什么区别 Yii2中User::findOne($id)和User::find->where(['id'=>1])-> ...