在做项目的时候我们经常会用到分页显示数据,其实原理很简单:就是每次点击(下/上)一页的时候向后台发送请求获取相关JSON数据,我这里演示的是我每次请求都会传给后台两个参数(pageSize–每页要展示的数据、pageNo–当前页码 )
HTML相关代码:
<p id='demo' ng-app='myApp' ng-controller='myCtrl'> <table> <thead> <th>序号</th> <th>操作人</th> <th>类别</th> <th>电话</th> <th>金额</th> <th>操作时间</th> </thead> <tbody> <tr ng-repeat="item in items"> <td>{{$index+1}}</td> <td>{{item.operator}}</td> <td>{{item.type}}</td> <td>{{item.tell}}</td> <td>{{item.price}}</td> <td>{{item.operateTime}}</td> </tr> </tbody> </table> <p class="page"> <span class="nextPage" ng-click="nextPage()">下一页</span> <span class="prevPage" ng-click="lastPage()">上一页</span> <span>{{cur}}/{{totalPage}} 页 共 {{totalNum}} 条记录</span> </p> </p>
CSS代码就不贴上来了,大家自行补充;
JS代码:
var params={ pageSize:10, pageNo:1 };var curPage=1;var app = angular.module('myApp', []); app.controller('myCtrl', function($scope,$http) { init($scope,$http); })function search($http,$scope){ params.pageNo=pageNo; $http({ method: 'GET', url:后台接口地址, params:params }).then(function successCallback(response) { // 数据总条数 $scope.totalNum = response.data.totalNum; // 数据总页数 $scope.totalPage = response.data.totalPage; // 数据当前页 $scope.cur = curPage; // 列表详细数据 var content = response.data.contents; for(var i in content){ // 数据操作人 content[i].operator= content[i].operator; // 数据电话 content[i].tell= content[i].tell; // 数据类别 content[i].type = content[i].type; // 数据操作时间 content[i].operateTime = content[i].createTime; // 数据价格 content[i].price = content[i].price; } $scope.items = content; }, function errorCallback(response) { // 请求失败执行代码 if(response!=null) error(response) }); }function init($scope,$http){ search($http,$scope); $scope.nextPage=function(){ nextPage($http,$scope); }; $scope.lastPage=function(){ lastPage($http,$scope); }; }// 点击上一页function lastPage($http,$scope){ if(curPage>1){ curPage--; search($http,$scope); } }// 点击下一页function nextPage($http,$scope){ if(curPage<totalPage){ curPage++; search($http,$scope); } } **注意**1、如果在你的项目里有根据数据前面的序号来删除某条数据,建议看下这篇博文[Angular Js中$index的小心使用](http://blog.csdn.net/renfufei/article/details/43061877)2、如果你的项目后台传过来的数据没有经过处理是全部的数据可以参考这篇博文[Angular Js表格分页](http://www.cnblogs.com/smilecoder/p/6519833.html)
在做项目的时候我们经常会用到分页显示数据,其实原理很简单:就是每次点击(下/上)一页的时候向后台发送请求获取相关JSON数据,我这里演示的是我每次请求都会传给后台两个参数(pageSize–每页要展示的数据、pageNo–当前页码 ),这篇文章分享一下相关内容;
HTML相关代码:
<p id='demo' ng-app='myApp' ng-controller='myCtrl'> <table> <thead> <th>序号</th> <th>操作人</th> <th>类别</th> <th>电话</th> <th>金额</th> <th>操作时间</th> </thead> <tbody> <tr ng-repeat="item in items"> <td>{{$index+1}}</td> <td>{{item.operator}}</td> <td>{{item.type}}</td> <td>{{item.tell}}</td> <td>{{item.price}}</td> <td>{{item.operateTime}}</td> </tr> </tbody> </table> <p class="page"> <span class="nextPage" ng-click="nextPage()">下一页</span> <span class="prevPage" ng-click="lastPage()">上一页</span> <span>{{cur}}/{{totalPage}} 页 共 {{totalNum}} 条记录</span> </p> </p>
CSS代码就不贴上来了,大家自行补充;
JS代码:
var params={ pageSize:10, pageNo:1 };var curPage=1;var app = angular.module('myApp', []); app.controller('myCtrl', function($scope,$http) { init($scope,$http); })function search($http,$scope){ params.pageNo=pageNo; $http({ method: 'GET', url:后台接口地址, params:params }).then(function successCallback(response) { // 数据总条数 $scope.totalNum = response.data.totalNum; // 数据总页数 $scope.totalPage = response.data.totalPage; // 数据当前页 $scope.cur = curPage; // 列表详细数据 var content = response.data.contents; for(var i in content){ // 数据操作人 content[i].operator= content[i].operator; // 数据电话 content[i].tell= content[i].tell; // 数据类别 content[i].type = content[i].type; // 数据操作时间 content[i].operateTime = content[i].createTime; // 数据价格 content[i].price = content[i].price; } $scope.items = content; }, function errorCallback(response) { // 请求失败执行代码 if(response!=null) error(response) }); }function init($scope,$http){ search($http,$scope); $scope.nextPage=function(){ nextPage($http,$scope); }; $scope.lastPage=function(){ lastPage($http,$scope); }; }// 点击上一页function lastPage($http,$scope){ if(curPage>1){ curPage--; search($http,$scope); } }// 点击下一页function nextPage($http,$scope){ if(curPage<totalPage){ curPage++; search($http,$scope); } } **注意**1、如果在你的项目里有根据数据前面的序号来删除某条数据,建议看下这篇博文[Angular Js中$index的小心使用](http://blog.csdn.net/renfufei/article/details/43061877)2、如果你的项目后台传过来的数据没有经过处理是全部的数据可以参考这篇博文[Angular Js表格分页](http://www.cnblogs.com/smilecoder/p/6519833.html)
相关推荐:
PHP实例代码:AJAX 分页显示数据_PHP教程
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解_jquery
以上是实例详解Angular Js分页显示数据的详细内容。更多信息请关注PHP中文网其他相关文章!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

记事本++7.3.1
好用且免费的代码编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver CS6
视觉化网页开发工具