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 相关文章推荐
JavaScript执行效率与性能提升方案
Dec 21 Javascript
JavaScript实现网页上的浮动广告的简单方法
Jun 14 Javascript
JavaScript 数组详解
Oct 10 Javascript
javascript文件中引用依赖的js文件的方法
Mar 17 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
纯js实现html转pdf的简单实例(推荐)
Feb 16 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
Sep 10 Javascript
浅谈gulp创建完整的项目流程
Dec 20 Javascript
angular5 子组件监听父组件传入值的变化方法
Sep 30 Javascript
一次微信小程序内地图的使用实战记录
Sep 09 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 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+ACCESS 文章管理程序代码
2010/06/21 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
JavaScript 原型继承
2011/12/26 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
TensorFlow的权值更新方法
2018/06/14 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
python实现门限回归方式
2020/02/29 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
如何解决python多种版本冲突问题
2020/10/13 Python
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
Java基础面试题
2012/11/02 面试题
大学生实习证明范本
2014/01/15 职场文书
迎八一活动主题
2014/01/31 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
检举信的格式及范文
2014/04/04 职场文书
安全生产责任书范本
2014/04/15 职场文书
会计电算化专业求职信
2014/06/10 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
采购内勤岗位职责
2015/04/13 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript