AngularJs分页插件使用详解


Posted in Javascript onJune 30, 2018

angularUI bootstrap提供的分页插件满足了大部分应用的需求,具体内容如下

在项目需求中,新增了两个需求:

1.自由设定每页显示的条目;

2.可以手动输入页面,跳转到指定的页数。

html代码

<div class="pagination-define p20 mt20" ng-hide="totalItems==0">
 <select ng-model="perPageSize" ng-change="pageChanged({currentPage:currentPage,perPageSize:perPageSize})" >
  <option value=10 ng-selected="perPageSize==10">10</option>
  <option value=20>20</option>
  <option value=30>30</option>
  <option value=50>50</option>
  <option value=100>100</option>
 </select>
 <uib-pagination items-per-page="numPerPage" total-items="totalItems" ng-model="currentPage" ng-change="pageChanged({currentPage:currentPage,perPageSize:perPageSize})" max-size="5" class="pagination-sm" boundary-link-numbers="true" boundary-links="true" rotate="false" previous-text="‹" next-text="›" first-text="«" last-text="»"></uib-pagination>
 <input type="text" ng-model="inputCurPage" min=1 cus-max-number ="{{maxPages}}" current-page="{{currentPage}}">
 <button class="btn btn-info btn-30h" ng-click="pageChanged({currentPage:inputCurPage,perPageSize:perPageSize})" ng-disabled="inputCurPage==''||submitting">Go</button>
</div>

css代码

.pagination-define{
 text-align: center
}
.pagination-define input, .pagination-define select {
 padding-left: 3px;
 height: 30px;
 vertical-align: top;
 border: 1px solid #ccc;
 border-radius: 4px;
 width: 50px;
}
.pagination {
 margin: 0;
}
.pagination-define .btn-30h {
 vertical-align: top;
}
.btn-30h {
 padding-top: 4px;
 padding-bottom: 4px;
}

Javascript代码

app.directive('cusMaxNumber', ['$timeout', function ($timeout) {
  return {
   restrict: 'EA',
   require: 'ngModel',
   scope: {
    maxNumber: '@cusMaxNumber',
    currentPage: '@currentPage'
   },
   link: function (scope, element, attr, ctrl) {
    ctrl.$parsers.push(function (viewValue) {
     var maxNumber = parseInt(scope.maxNumber, 10);
     var curNumber = scope.currentPage; //当前页数
     var transformedInput = viewValue.replace(/[^0-9]/g, '');
     if (transformedInput !== viewValue||parseInt(transformedInput,10)<1||parseInt(transformedInput,10)>maxNumber) {
      ctrl.$setViewValue(curNumber);
      ctrl.$render();
      return curNumber;
     }
     return viewValue;
    });
   }
  };
 }])
.directive('cusPagination',[function(){
  return {
   restrict: "E",
   templateUrl: 'views/template/pagination.html',
   scope: {
    numPerPage: "=numPerPage",
    totalItems: "=totalItems",
    currentPage: "=cusCurrentPage",
    perPageSize:"=perPageSize",
    inputCurPage:"=inputCurPage",
    maxPages:"=maxPages",
    pageChanged: "&pageChanged"
   },
   replace: false
  };
 }]);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用JQUERY增删元素的代码
Feb 14 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
Sep 25 Javascript
原生JS实现几个常用DOM操作API实例
Jan 19 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
Mar 17 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
解决vue-cli项目webpack打包后iconfont文件路径的问题
Sep 01 Javascript
详解ES6中的Map与Set集合
Mar 22 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
Feb 06 Javascript
JavaScript中如何调用Java方法
Sep 16 Javascript
Element-UI 使用el-row 分栏布局的教程
Oct 26 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
ionic grid(栅格)九宫格制作详解
Jun 30 #Javascript
vue检测对象和数组的变化分析
Jun 30 #Javascript
浅析vue.js数组的变异方法
Jun 30 #Javascript
详解vue添加删除元素的方法
Jun 30 #Javascript
vue.js删除列表中的一行
Jun 30 #Javascript
vue v-model动态生成详解
Jun 30 #Javascript
vue-router+nginx 非根路径配置方法
Jun 30 #Javascript
You might like
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
PHP速成大法
2015/01/30 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
为javascript添加String.Format方法
2020/08/11 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
详细分析python3的reduce函数
2017/12/05 Python
python爬虫实例详解
2018/06/19 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
学生会竞选自荐信
2013/10/12 职场文书
思想品德自我评价
2014/02/04 职场文书
2014年纠风工作总结
2014/12/08 职场文书
通知函的格式
2015/04/27 职场文书