angulatJs 前端数据分页展示——例
注: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 前端数据分页展示——例的更多相关文章
- js静态数据分页展示
拿vue做示例 首先定义data data() { return { tableData: [], // 当前页的数据,用于给表格展示用的 tableDataAll: [], // 需要拿来分页的总数 ...
- ssh整合问题总结--使用HibernateTemplate实现数据分页展示
在进行大量的数据展示时,必须要使用分页查询,第一次使用在SSH框架整合中使用分页查询,遇到了一些问题,下面以我练习的项目为例详细介绍,如何在Spring+hibernate(+action)的环境下完 ...
- vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)
文章目录 1.看实现的效果 2.前端vue页面核心代码 2.1. 表格代码(表格样式可以去elementui组件库直接调用相应的) 2.2.分页组件代码 2.3 .script中的代码 3.后端核心代 ...
- Antd 表格数据分页展示
分页组件代码 render(){ const {total,size,currenPage} = this.state // 参数分别为数据总条数.每页数据条数.当前页页码 return ( // 渲 ...
- Python通过分页对数据进行展示
# 通过分页对数据进行展示 """ 要求: 每页显示10条数据 让用户输入要查看的页面:页码 """ USER_LIST = [] for ...
- MySQL+Service+Servlet+Jsp实现Table表格分页展示数据
下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据: eg:请假管理系统 要求如下: 一.打开首页页面, 访问查询请假记录的 servlet , ...
- js 从一个json拼接成另一个json,并做json数据分页table展示
先给数据: //原始json数据json = [{"id":"1","aid":"013","performa ...
- ThinkPHP快速实现数据分页(前端/后端分离)
数据 分页 可能是web 编程里最常用到的功能之一.thinkphp 实现分页功能十分简洁.只需要定义 几个参数 就能搞定.当然,扩展也是十分方便的. 让我们现在就开始thinkphp的分页实现吧. ...
- Handlebars的基本用法 Handlebars.js使用介绍 http://handlebarsjs.com/ Handlebars.js 模板引擎 javascript/jquery模板引擎——Handlebars初体验 handlebars.js 入门(1) 作为一名前端的你,必须掌握的模板引擎:Handlebars 前端数据模板handlebars与jquery整
Handlebars的基本用法 使用Handlebars,你可以轻松创建语义化模板,Mustache模板和Handlebars是兼容的,所以你可以将Mustache导入Handlebars以使用 Ha ...
随机推荐
- Dubbo 系列(07-1)集群容错 - 服务字典
Dubbo 系列(07-1)集群容错 - 服务字典 [toc] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 本篇文章,将开始分析 Dubbo 集群容错方面的 ...
- TypeScript和JavaScript的区别
JavaScript和TypeScript的对比 注:参考https://juejin.im/entry/5a52ed336fb9a01cbd586f9f做的笔记 概要介绍 JavaScript Ja ...
- 在egg中配置 sequelize
如何在eggjs中引入 sequlize 安装 第一步,在项目中安装 egg-sequelize插件和mysql插件 npm install --save egg-sequelize mysql2 第 ...
- 事务管理ACID
事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性. ACID是Atomic(原子性) Consistency(一致性) Isolation(隔离性) Dur ...
- myeclipse中使用maven插件的时候,报错-Dmaven.multiModuleProjectDirectory system propery is not set.
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable a ...
- 【最新】docker 安装elasticsearch + kibana步骤【第一篇_elasticsearch】
最近在用docker 安装elasticsearch + kibana 遇到了很多坑,最后成功安装elasticsearch + kibana (6.8.1)版本 安装了一下午,现总结过程中遇到 ...
- strcoll - 用当前的区域选项来比较两个字符串
总览 (SYNOPSIS) #include <string.h> int strcoll(const char *s1, const char *s2); 描述 (DESCRIPTION ...
- 【转载】sublime text3 全攻略
给个链接:http://www.w3cfuns.com/blog-5466732-5405668.html 等作者更新完后自己再整理
- ajax请求的原生js实现
我们使用ajax请求一般都用的jQuery, axios封装好了的api, 那么如果只能用原生js, 我们该如何操作了? 上代码. 我们在同目录下写好一个json文件(data.json)用于请求测试 ...
- CF687D Dividing Kingdom II
\(\mathtt{CF 687D}\) \(\mathcal{Description}\) 给你一个图有 \(n\) 个点 \((1 \leq n \leq 10^3)\) 和 \(m\) 条边 \ ...