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 版本自动生成文章摘要
Jul 23 Javascript
JQuery 表单中textarea字数限制实现代码
Dec 07 Javascript
jquery的$(document).ready()和onload的加载顺序
May 26 Javascript
JavaScript实现隐藏省略文字效果的方法
Apr 27 Javascript
vue2.0父子组件间传递数据的方法
Aug 16 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 Javascript
vue 动态组件用法示例小结
Mar 06 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
May 15 Javascript
node中使用shell脚本的方法步骤
Mar 23 Javascript
jQuery实现影院选座订座效果
Apr 13 jQuery
JavaScript 原型与原型链详情
Nov 02 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
如何使用PHP中的字符串函数
2006/11/24 PHP
Cakephp 执行主要流程
2010/03/24 PHP
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
Python中的CURL PycURL使用例子
2014/06/01 Python
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
python实现将内容分行输出
2015/11/05 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
《天游峰的扫路人》教学反思
2014/04/25 职场文书
大学生简历求职信
2014/06/24 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
golang特有程序结构入门教程
2021/06/02 Python
vue 给数组添加新对象并赋值
2022/04/20 Vue.js