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帮助之筛选查找 children([expr])
Jan 31 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
Feb 04 Javascript
js省市县三级联动效果实例
Apr 15 Javascript
jQuery hover事件简单实现同时绑定2个方法
Jun 07 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
Dec 26 Javascript
Angular.js自动化测试之protractor详解
Jul 07 Javascript
详解离线安装npm包的几种方法
Nov 25 Javascript
js中this的指向问题归纳总结
Nov 28 Javascript
JavaScript定时器常见用法实例分析
Nov 15 Javascript
vue 获取url参数、get参数返回数组的操作
Nov 12 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
如何设置mysql允许外网访问
2013/06/04 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
jQuery之网页换肤实现代码
2011/04/30 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
python基础教程之字典操作详解
2014/03/25 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
新闻学专业应届生求职信
2013/11/08 职场文书
九年级数学教学反思
2014/02/02 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
党在我心中演讲稿
2014/09/02 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
法定代表人证明书
2014/11/28 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
婚姻出轨保证书
2015/05/08 职场文书
党员干部学习心得体会
2016/01/23 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
python中pandas对多列进行分组统计的实现
2021/06/18 Python