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 相关文章推荐
CSDN轮换广告图片轮换效果
Mar 27 Javascript
JavaScript作用域链使用介绍
Aug 29 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
Jun 12 Javascript
JavaScript学习笔记之DOM基础 2.4
Aug 14 Javascript
Javascript中的return作用及javascript return关键字用法详解
Nov 05 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
Feb 02 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 Javascript
connection reset by peer问题总结及解决方案
Oct 21 Javascript
基于bootstrap风格的弹框插件
Dec 28 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
May 29 Javascript
js Math数学简单使用操作示例
Mar 13 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
May 09 Javascript
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
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
jquery日历控件实现方法分享
2014/03/07 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
Python上下文管理器全实例详解
2019/11/12 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
探矿工程师自荐信
2014/01/24 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
升学宴主持词
2014/04/02 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
工伤赔偿协议书
2014/04/15 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
表扬通报怎么写
2015/01/16 职场文书
成绩单家长意见
2015/06/03 职场文书
感谢信
2019/04/11 职场文书
工作一年自我鉴定
2019/06/20 职场文书
PHP基本语法
2021/03/31 PHP
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL