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 相关文章推荐
js GridView 实现自动计算操作代码
Mar 25 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
Oct 13 Javascript
jWiard 基于JQuery的强大的向导控件介绍
Oct 28 Javascript
js中replace的用法总结
Dec 27 Javascript
JavaScript极简入门教程(一):基础篇
Oct 25 Javascript
JQuery替换DOM节点的方法
Jun 11 Javascript
JavaScript实现多种排序算法
Feb 24 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
Apr 05 Javascript
jquery中用函数来设置css样式
Dec 22 Javascript
Bootstrap媒体对象学习使用
Mar 07 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
详解如何在React组件“外”使用父组件的Props
Jan 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
JS面向对象编程之对象使用分析
2010/08/19 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
ReactRouter的实现方法
2021/01/25 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
python3调用R的示例代码
2018/02/23 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
Python supervisor强大的进程管理工具的使用
2019/04/24 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
Python创建自己的加密货币的示例
2021/03/01 Python
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
Linux的主要特性
2016/09/03 面试题
菜篮子工程实施方案
2014/03/08 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
肖申克救赎观后感
2015/06/02 职场文书
摩登时代观后感
2015/06/03 职场文书
健康证明
2015/06/19 职场文书
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
django中websocket的具体使用
2022/01/22 Python