目前在做一个java web页面,没有使用到框架的分页,所以需要自己实现分页,就想到了用angularjs来实现分页,数据通过创建交互式、快速动态网页应用的网页开发技术从后台获取。
插件
百度了一下,看到一个比较漂亮的插件,就直接用该插件,并修改了部分细节,使得适合我的项目,该插件地址是:(https://github。com/苗瑶瑶/AngularJs-UI)
效果图
使用方法
1、在网页的头部引入angularjs、bootstarp以及该插件,该分页插件主要是ng-pagination.css以及ng-pagination.js
链接rel='样式表href='/nutz-test/static/bootstrap/bootstrap。量滴CSS ' rel='外部nofollow' link rel='样式表href='/nutz-test/static/angular/ng-paging。CSS ' rel='外部' nofollow '脚本src=' http :/nutz-test/static/jquery/jquery。量滴js '/script script src=' http 3360/nutz-test/static/angular/angular。最小.表格代码以及分页代码
div id=' app ' ng-app=' myApp ' ng-controller=' myCtrl ' div style=' overflow : auto;宽度: 100%;" table class=' table table-悬停表-分条表-带边框id='j-table '和tr th姓名/th年龄/th电话/th职位/th/tr/TD t body tr ng-repeat='列表中的项目th title=' { { item。名称} } ' { { item。name } }/th title=' { { item。age } } ' { { item。age } }/th title=' { { item。tel } } ' { { item。tel } }/th title=' { { item。位置} } ' { { item。位置} }/th/tr/t正文/表格/div!-这里引用插件的分页- div class='传呼机'传呼机页面计数='页数'当前页面='currentPage '在页面上-change=' OnPageChange()' first-text='首页下一个文本='下一页' prev-text='上一页" last-text="尾页show-goto='true' goto-text='跳转到/pager /div/div3、javascript代码部分
分页的重点是从后台获取数据,只需把页面大小(每页显示数目),以及页面索引(当前页数)通过邮政请求传到后台即可。后台返回实际的数据以及页数(页数)给前台即可。其中,onPageChange()方法是点击页码后去通过创建交互式、快速动态网页应用的网页开发技术从后台获取数据,myinit()方法是第一次请求该页面时进行初始化$scope.currentPage。就是页数,例如当你点击下一页的时候,它就会加一,然后就可以通过邮政请求去后台取下一页的数据了。
脚本类型=' text/JavaScript ' var app=angular。模块(' myApp ',[' ng-paging ']);app.controller('myCtrl ',['$scope ',function($ scope){ $ scope。onpage change=function(){//Ajax请求加载数据控制台。日志($ scope)。当前页面);//这里是邮政请求去后台取数据$.ajax({ type:'post ',URL : '/nutz-test/show/paging ',data:{ 'pageSize':5,' page index ' : $ scope。当前页面},dataType:'json ',success :函数(数据){ $ scope .$ apply(function(){ $ scope。列表=数据。列表;$ scope。页数=数据。页数;});} }) };//初始化,设置为第一页,每页显示5条$scope.myinit=function(){ $ .ajax({ type:'post ',URL : '/nutz-test/show/paging ',data:{ 'pageSize':5,' pageIndex':1 },dataType:'json ',success :函数(数据){ $ scope .$ apply(function(){ $ scope。列表=数据。列表;$ scope。页数=数据。页数;});} }) };$ scope。myinit();}]);/script注意事项
1、该插件在只有一页的情况会出现分页插件加载不出来的情况,因此需要修改ng-pagination.js的代码。
打开ng-pagination.js,定位到最后的模板,修改页数=1,如下图所示。
2.ie浏览器和360浏览器不支持跳转功能,因为ie和360没有number.isNaN()方法,所以需要将分页插件的这个方法修改为isNaN()。
转到ng-pagination.js的Number.isNaN()方法,修改方法如下图所示。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。