精华内容
下载资源
问答
  • 主要为大家详细介绍了Angular2 PrimeNG分页模块学习教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • vue-cli 项目添加分页模块----搜索列表分页模块 最近公司做了个态势感知系统(说白了就是数据可视化,做一些数据分类显示),由于搜索出来的数据特别多需要做个分页组件,废话不多说 直接上干货。 先看看效果 首先...

    vue-cli 项目添加分页模块----搜索列表分页模块

    最近公司做了个态势感知系统(说白了就是数据可视化,做一些数据分类显示),由于搜索出来的数据特别多需要做个分页组件,废话不多说 直接上干货。

    先看看效果
    在这里插入图片描述

    首先你需要在components文件夹创建一个paging组件(我用的webstorm)
    在这里插入图片描述

    html部分 template 无须解释

    <template>
      <nav>
        <ul class="pagination">
          <li :class="{'disabled': current == 1}"><a href="javascript:;" @click="setCurrent(current - 1)"> « </a></li>
          <li :class="{'disabled': current == 1}"><a href="javascript:;" @click="setCurrent(1)"> 首页 </a></li>
          <li v-for="p in grouplist" :class="{'active': current == p.val}"><a href="javascript:;"
                                                                              @click="setCurrent(p.val)"> {{ p.text }} </a>
          </li>
          <li :class="{'disabled': current == page}"><a href="javascript:;" @click="setCurrent(page)"> 尾页 </a></li>
          <li :class="{'disabled': current == page}"><a href="javascript:;" @click="setCurrent(current + 1)"> »</a></li>
        </ul>
      </nav>
    </template>
    

    JS逻辑 代码中都有备注

    export default {
        name: 'paging',
        data() {
          return {
            current: this.currentPage
          }
        },
        props: {
          total: {// 数据总条数
            type: Number,
            default: 0
          },
          display: {// 每页显示条数
            type: Number,
            default: 10
          },
          currentPage: {// 当前页码
            type: Number,
            default: 1
          },
          pagegroup: {// 分页条数
            type: Number,
            default: 5,
            coerce: function (v) {
              v = v > 0 ? v : 5;
              return v % 2 === 1 ? v : v + 1;
            }
          },
          refresh: { // 不是必须 搜索后默认第一页
            type: Boolean,
            default: false
          }
        },
        computed: {
          page: function () { // 总页数
            return Math.floor(this.total / this.display);
          },
          grouplist: function () { // 获取分页页码
            this.doRefresh();
            let len = this.page, temp = [], list = [], count = Math.floor(this.pagegroup / 2), center = this.current;
            if (len <= this.pagegroup) {
              while (len--) {
                temp.push({text: this.page - len, val: this.page - len});
              }
              return temp;
            }
            while (len--) {
              temp.push(this.page - len);
            }
            let idx = temp.indexOf(center);
            (idx < count) && (center = center + count - idx);
            (this.current > this.page - count) && (center = this.page - count);
            temp = temp.splice(center - count - 1, this.pagegroup);
            do {
              let t = temp.shift();
              list.push({
                text: t,
                val: t
              });
            } while (temp.length);
            if (this.page > this.pagegroup) {
              (this.current > count + 1) && list.unshift({text: '...', val: list[0].val - 1});
              (this.current < this.page - count) && list.push({text: '...', val: list[list.length - 1].val + 1});
            }
            return list;
          }
        },
        mounted() {
          this.doRefresh()
        },
        methods: {
          doRefresh() {
            if (this.refresh) {
              this.current = 1
            }
          },
          setCurrent: function (idx) {
            if (this.current !== idx && idx > 0 && idx < this.page + 1) {
              this.current = idx;
              this.$emit('pagechange', this.current);
            }
          }
        }
      }
    

    最后就是CSS了 来吧直接上

    .pagination {
        font-family: "sans";
        overflow: hidden;
        display: table;
        margin: 0 auto;
        /*width: 100%;*/
        height: 50px;
      }
    
      .pagination li {
        float: left;
        height: 30px;
        border-radius: 5px;
        margin: 3px;
        color: #000000;
        background: white;
      }
    
      .pagination li :hover {
        background: #696969;
      }
    
      .pagination li :hover a {
        color: #fff;
      }
    
      .pagination li a {
        display: block;
        width: 40px;
        height: 30px;
        text-align: center;
        line-height: 30px;
        font-size: 12px;
        border-radius: 5px;
        text-decoration: none;
        color: black;
      }
    
      .pagination .active {
        background: #696969;
      }
    
      .pagination .active a {
        color: #fff;
      }
    

    这里说一下 ‘font-family: “sans”;’ sans 就是自定义的一个字体名字,需要你在自己的index.css里定义一下引用的第三方字体如:

    @font-face {
      font-family: 'sans';
      src: url('./resource/font/webfont.eot'); /* IE9*/
      src: url('./resource/font/webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
      url('/static/font/webfont.woff') format('woff'), /* chrome、firefox */
      url('./resource/font/webfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
      url('./resource/font/webfont.svg#webfont') format('svg'); /* iOS 4.1- */
    }
    

    需要的字体可去各字体网站去下载

    然后就是在需要显示分页的地方引入分页模块可

    import Paging from "../components/Paging";
    

    然后定义需要的参数

    data() {
          return {
            total: 0, //总条数
            current: 1, //当前激活页
            display: 10, //每页显示多少条
            refresh: false, //是否刷新(第一页激活)有搜索时需要
          };
        },
    

    然后在methods里写接收模块传出的翻页的控制方法

    //分页查询
          pagechange(currentPage) {
            this.refresh = false;
            this.page = {
              start: currentPage * 10,
              size: 10
            };
           // 获取列表 可根据后端要求改变page的方式
            this.getList(this.page)
          }
    

    最后在页面引用模块

    <!--分页-->
        <div class="g-bottom">
          <paging v-if="!noData && total>10" :total="total" :current-page='current' :refresh='refresh' @pagechange="pagechange"></paging>
        </div>
    

    v-if="!noData && total>10" 是做一个 服务器报错 和数据不足一夜 一叶 异业······算了 不足10条时的显隐状态,可根据具体逻辑做修改。

    OK 18:43分 下班啦···········

    展开全文
  • javascript 分页模块

    2008-12-28 13:15:35
    javascript分页模块 实现静态页分页效果如下,只传Page=N就可以了 index.html?Page=4
  • 1.1 前端代码实现思路分析  明确目标功能,在品牌管理下方放置分页栏,实现分页查询功能。... 在pagination.js中有分页模块,pagination为模块名,[]为分页数组,directive定义一个指令,这里定义了一个tmP...

    1.1 前端代码实现思路分析

    1.  明确目标功能,在品牌管理下方放置分页栏,实现分页查询功能。
    2. 使用的第三方的分页插件,angularJS的分页模块。(需要引入angularJS相关的分页模块pagination.css 和 pagination.js)
    3. 在pagination.js中有分页模块,pagination为模块名,[]为分页数组,directive定义一个指令,这里定义了一个tmPagination指令,使用了这个指令就使用到了下面的模块
      angular.module('pagination', []).directive('tmPagination',[function(){
          return {
             ......
              },
    4. 目标就是将分页模块在项目中使用。首先在我们需要分页的HTML页面中引入pagination.css  与 pagination.js
    5. 因为我们需要使用到angularJS的分页模块,所以我们在定义模块的时候需要指令使用它的模块。将模块加进来之后,tmPagination这个指令在我们自己的模块中就可以使用了。
      var  app = angular.module('XXX',['pagination']);
    6. 在table结束的位置加上分页指令tmPagination ,格式<tm-pagination/>,还需要传一些参数(conf),即<tm-pagination conf="paginationconf"/>是一个json对象,才能把指令初始化出来,要放在scope里面才能取到.
    7. 在控制器中定义分页指令需要的配置信息对象,需要json对象,则定义为 $scope.paginationConf={};我们需要知道json对象中有哪些属性,在pagination.js文件中寻找,因为放在scope里面去了,conf点出来的都是它里面的属性。
    8. 我们传当前页码,和总记录数,页大小,页码下拉列表框。把之前findAll()方法去掉,在body的位置,ng-init ,因为我们现在使用分页查询。
    9. 一进来我们需要查询数据,点跳转页面的时候也需要查询数据,如何监听它查询数据,它提供了onchange事件 ,此时在onchange中查询数据即可,alert($scope.paginationconf.currentPage);获取到当前页码。
    10. 查到数据之后放到scope的dataList中就好了,定义分页查询品牌方法$scope.search
    11. 在onchange里面调用一下分页查询品牌方法,后台需要两个参数,当前页码,页大小
    12. 发送异步请求查询品牌,$http.get();注意get请求传参,使用问号的方式传
    13. 获取响应数据格式,response.data{total:100,rows:{[],[],[],[]}}           总记录数是写死的,我们需要给它赋值所以  $scope.dataList= response.data.rows;
    14.  更新分页指令的总记录数:$scope.paginationconf.totalItems=response.data.total;
    • 注意:写完前端代码我们可以测试一下是否没有问题, 确保没有问题之后再写后端代码,如图所示,看控制台,它已经给你发请求了,只是你没有查到数据而已,因为后台没有处理请求,此时我们需要把后台写好就行了。

    注:下面截图只展示了一部分属性 

    1.2 前端代码实现

     在品牌管理下方放置分页栏,实现分页功能:

    1.2.1 页面

    在sunny-manager-web/src/main/webapp/admin/brand.htm引入分页模块 

    <!-- 分页模块开始 -->
    <link rel="stylesheet" href="/plugins/angularjs/pagination.css"/>
    <script src="/plugins/angularjs/pagination.js"></script>
    <!-- 分页模块结束 -->

    在构建app模块时引入pagination模块:

    var app = angular.module('sunny',['pagination']); 

    brand.html页面的表格table结束标签下放置分页指令:

    <!-- 分页指令 -->
    <tm-pagination conf="paginationConf"/> 

     1.2.2 js代码

    在sunny-manager-web/src/main/webapp/admin/brand.html中添加分页相关js代码:

    /** 分页指令配置信息对象  */
    $scope.paginationConf = {
      
    currentPage: 1, // 当前页码
      
    totalItems: 0// 总记录数
      
    itemsPerPage: 10, // 每页显示的记录数
      
    perPageOptions: [10, 20, 30], // 页码下拉列表框
      
    onChange: function(){ // 改变事件
         
    $scope.reload(); //重新加载
      
    }
    };

    /** 重新加载列表数据 */
    $scope.reload = function(){
      
    /** 切换页码  */
      
    $scope.search($scope.paginationConf.currentPage,
         
    $scope.paginationConf.itemsPerPage);
    };

    /** 分页查询品牌信息 */
    $scope.search = function(page, rows){
      
    /** 发送异步请求分页查询品牌数据 */
      
    $http.get('/brand/findByPage?page='+ page +'&rows=' + rows)
          .
    then(function(response){
            
    $scope.dataList = response.data.rows;
            
    /** 更新总记录数 */
            
    $scope.paginationConf.totalItems = response.data.total;
          });
    };

    paginationConf 变量各属性的意义:

    注意:在页面body元素中去掉ng-init指令的调用及修改saveOrUpdate方法

    1. currentPage:当前页码
    2. totalItems: 总记录数
    3. itemsPerPage: 每页显示的记录数
    4. perPageOptions:页码下拉列表框
    5. onChange:改变页码时触发事件

    2.1 后端代码实现思路

    1. 接收页面上传过来的参数,page和rows
    2. 调用服务层findByPage方法去查询,查询条件为null(没有)(null,page,rows)
    3. 返回数据,页面上刚刚想好的数据格式为:{total:100,rows:[{},{},{}]}
    4.  如何响应数据,看到大括号{},想到Map集合和实体类,很多表推荐使用PageResult实体类
      定义到公共的模块中
    5. 在sunny-interface的pom.xml配置依赖:
    6. 定义重新加载数据的方法,不需要传参的(无page,rows两个参数)
      reload方法

     2.1.1 控制器层

    在sunny-manager-web工程的src/main/java/

    com.sunny.manager.controllerBrandController.java新增方法

    2.1.2 分页结果实体

     在sunny-common工程中创建com.sunny.common.pojo包,用于存放通用实体类,创建PageResult.java

    /** 分页结果实体 */
    public class PageResult implements Serializable {
       
    /** 总记录数 */
       
    private long total;
       
    /** 分页数据 */
       
    private List<?> rows;
       
    public PageResult(){}
       
    public PageResult(long total, List<?> rows) {
           
    this.total = total;
           
    this.rows = rows;
        }
       
    public long getTotal() {
           
    return total;
        }
       
    public void setTotal(long total) {
           
    this.total = total;
        }
       
    public List<?> getRows() {
           
    return rows;
        }
       
    public void setRows(List<?> rows) {
           
    this.rows = rows;
        }
    }

    2.1.3 服务接口层

     在sunny-interface的pom.xml配置依赖:

    <!-- sunny-common -->
    <dependency>
        <
    groupId>com.sunny</groupId>
        <
    artifactId>sunny-common</artifactId>
        <
    version>${project.version}</version>
    </
    dependency>

     sunny-interface/src/main/java/com.sunny.service/BrandService.java修改findByPage方法:返回PageResult

     2.1.4 服务实现层

    sunny-sellergoods-service/src/main/java/com.sunny.sellergoods.service.impl的BrandServiceImpl.java中实现该方法:

    /** 分页查询品牌 */
    @Override
    public PageResult findByPage(Brand brand, int page, int rows) {
       
    // 开始分页
       
    PageInfo<Brand> pageInfo = PageHelper.startPage(page, rows)
                .doSelectPageInfo(
    new ISelect() {
                   
    @Override
                   
    public void doSelect() {
                        
    brandMapper.selectAll();
                    }
                });
       
    return new PageResult(pageInfo.getTotal(),pageInfo.getList());
    }

    注意:PageHelperMyBatis分页插件。 

    展开全文
  • ajax asp.net 分页模块源码
  • JSP数据库分页模块

    2008-06-02 13:40:45
    通用的分页模块!下了你可以试试,不行的话加我Q:522134398
  • Asp.net Ajax 分页模块

    2008-05-29 13:29:47
    Asp.net Ajax 基于xmlhttprequest+httphandler的分页模块
  • jquery_pagination, jQuery的分页模块 jQuery分页插件 描述当你拥有大量项目列表时( 比如 。 搜索结果或者新闻文章,可以以将它们分组在页面上,并显示导航元素以从一页移动。 这个插件创建了这些导航元素。用法包含...
  • 公用分页模块之knockout

    千次阅读 2016-03-15 13:54:19
    为配合knockout而做出的公共分页模块,做一些基本的操作

    因为工程中使用了require,knockout,所以就自己琢磨着写一个公用的分页模块来用,格式上可能不太正规,我传递个思想大笑

    1.分页底部栏没有自己去写,毕竟赶时间,就借鉴了一个网上的(对于作者表示很抱歉,找不到你了尴尬

       在require的path里我配置为 paging

    /*
     * Contact: 55342775@qq.com
     */
    (function(root, factory) {
    	// amd
    	if (typeof define === 'function' && define.amd) {
    		define([ 'query' ], factory);
    	} else if (typeof exports === 'object') { // umd
    		module.exports = factory();
    	} else {
    		root.Paging = factory(window.Zepto || window.jQuery || Query);
    	}
    })
    		(
    				this,
    				function(Query) {
    					$.fn.Paging = function(settings) {
    						var arr = [];
    						$(this).each(function() {
    							var options = $.extend({
    								target : $(this)
    							}, settings);
    							var lz = new Paging();
    							lz.init(options);
    							arr.push(lz);
    						});
    						return arr;
    					};
    
    					function Paging() {
    						var rnd = Math.random().toString().replace('.', '');
    						this.id = 'Paging_' + rnd;
    					}
    					Paging.prototype = {
    						init : function(settings) {
    							this.settings = $.extend({
    								callback : null,
    								pagesize : 10,
    								current : 1,
    								prevTpl : "上一页",
    								nextTpl : "下一页",
    								firstTpl : "首页",
    								lastTpl : "末页",
    								ellipseTpl : "...",
    								toolbar : false,
    								hash : true,
    								pageSizeList : [ 5, 10, 15, 20 ]
    							}, settings);
    							this.target = $(this.settings.target);
    							this.container = $('<div id="' + this.id
    									+ '" class="ui-paging-container"/>');
    							this.target.append(this.container);
    							this.render(this.settings);
    							this.format();
    							this.bindEvent();
    						},
    						render : function(ops) {
    							this.count = ops.count || this.settings.count;
    							this.pagesize = ops.pagesize
    									|| this.settings.pagesize;
    							this.current = ops.current || this.settings.current;
    							this.pagecount = Math.ceil(this.count
    									/ this.pagesize);
    							this.format();
    						},
    						bindEvent : function() {
    							var _this = this;
    							this.container
    									.on(
    											'click',
    											'li.js-page-action,li.ui-pager',
    											function(e) {
    												if ($(this).hasClass(
    														'ui-pager-disabled')
    														|| $(this).hasClass(
    																'focus')) {
    													return false;
    												}
    												if ($(this).hasClass(
    														'js-page-action')) {
    													if ($(this).hasClass(
    															'js-page-first')) {
    														_this.current = 1;
    													}
    													if ($(this).hasClass(
    															'js-page-prev')) {
    														_this.current = Math
    																.max(
    																		1,
    																		_this.current - 1);
    													}
    													if ($(this).hasClass(
    															'js-page-next')) {
    														_this.current = Math
    																.min(
    																		_this.pagecount,
    																		_this.current + 1);
    													}
    													if ($(this).hasClass(
    															'js-page-last')) {
    														_this.current = _this.pagecount;
    													}
    												} else if ($(this).data('page')) {
    													_this.current = parseInt($(
    															this).data('page'));
    												}
    												_this.go();
    											});
    							/*
    							 * $(window).on('hashchange',function(){ var page=
    							 * parseInt(Query.getHash('page')); if(_this.current
    							 * !=page){ _this.go(page||1); } })
    							 */
    						},
    						go : function(p) {
    							var _this = this;
    							this.current = p || this.current;
    							this.current = Math.max(1, _this.current);
    							this.current = Math.min(this.current,
    									_this.pagecount);
    							this.format();
    							if (this.settings.hash) {
    								Query.setHash({
    									page : this.current
    								});
    							}
    							this.settings.callback
    									&& this.settings.callback(this.current,
    											this.pagesize, this.pagecount);
    						},
    						changePagesize : function(ps) {
    							this.render({
    								pagesize : ps
    							});
    						},
    						format : function() {
    							var html = '<ul>'
    							html += '<li class="js-page-first js-page-action ui-pager" >'
    									+ this.settings.firstTpl + '</li>';
    							html += '<li class="js-page-prev js-page-action ui-pager">'
    									+ this.settings.prevTpl + '</li>';
    							if (this.pagecount > 6) {
    								html += '<li data-page="1" class="ui-pager">1</li>';
    								if (this.current <= 2) {
    									html += '<li data-page="2" class="ui-pager">2</li>';
    									html += '<li data-page="3" class="ui-pager">3</li>';
    									html += '<li class="ui-paging-ellipse">'
    											+ this.settings.ellipseTpl
    											+ '</li>';
    								} else if (this.current > 2
    										&& this.current <= this.pagecount - 2) {
    									html += '<li>' + this.settings.ellipseTpl
    											+ '</li>';
    									html += '<li data-page="'
    											+ (this.current - 1)
    											+ '" class="ui-pager">'
    											+ (this.current - 1) + '</li>';
    									html += '<li data-page="' + this.current
    											+ '" class="ui-pager">'
    											+ this.current + '</li>';
    									html += '<li data-page="'
    											+ (this.current + 1)
    											+ '" class="ui-pager">'
    											+ (this.current + 1) + '</li>';
    									html += '<li class="ui-paging-ellipse" class="ui-pager">'
    											+ this.settings.ellipseTpl
    											+ '</li>';
    								} else {
    									html += '<li class="ui-paging-ellipse" >'
    											+ this.settings.ellipseTpl
    											+ '</li>';
    									for (var i = this.pagecount - 2; i < this.pagecount; i++) {
    										html += '<li data-page="' + i
    												+ '" class="ui-pager">' + i
    												+ '</li>'
    									}
    								}
    								html += '<li data-page="' + this.pagecount
    										+ '" class="ui-pager">'
    										+ this.pagecount + '</li>';
    							} else {
    								for (var i = 1; i <= this.pagecount; i++) {
    									html += '<li data-page="' + i
    											+ '" class="ui-pager">' + i
    											+ '</li>'
    								}
    							}
    							html += '<li class="js-page-next js-page-action ui-pager">'
    									+ this.settings.nextTpl + '</li>';
    							html += '<li class="js-page-last js-page-action ui-pager">'
    									+ this.settings.lastTpl + '</li>';
    							html += '</ul>';
    							this.container.html(html);
    							if (this.current == 1) {
    								$('.js-page-prev', this.container).addClass(
    										'ui-pager-disabled');
    								$('.js-page-first', this.container).addClass(
    										'ui-pager-disabled');
    							}
    							if (this.current == this.pagecount) {
    								$('.js-page-next', this.container).addClass(
    										'ui-pager-disabled');
    								$('.js-page-last', this.container).addClass(
    										'ui-pager-disabled');
    							}
    							this.container.find(
    									'li[data-page="' + this.current + '"]')
    									.addClass('focus').siblings().removeClass(
    											'focus');
    							if (this.settings.toolbar) {
    								this.bindToolbar();
    							}
    						},
    						bindToolbar : function() {
    							var _this = this;
    							var html = $('<li class="ui-paging-toolbar"><select class="ui-select-pagesize"></select><input type="text" class="ui-paging-count"/><a href="javascript:void(0)">跳转</a></li>');
    							var sel = $('.ui-select-pagesize', html);
    							var str = '';
    							for (var i = 0, l = this.settings.pageSizeList.length; i < l; i++) {
    								str += '<option value="'
    										+ this.settings.pageSizeList[i] + '">'
    										+ this.settings.pageSizeList[i]
    										+ '条/页</option>';
    							}
    							sel.html(str);
    							sel.val(this.pagesize);
    							$('input', html).val(this.current);
    							$('input', html).click(function() {
    								$(this).select();
    							}).keydown(function(e) {
    								if (e.keyCode == 13) {
    									var current = parseInt($(this).val()) || 1;
    									_this.go(current);
    								}
    							});
    							$('a', html).click(
    									function() {
    										var current = parseInt($(this).prev()
    												.val()) || 1;
    										_this.go(current);
    									});
    							sel.change(function() {
    								_this.changePagesize($(this).val());
    							});
    							this.container.children('ul').append(html);
    						}
    					}
    					return Paging;
    				});
    2.现在来看我自定义的分页模块

    define([ 'paging', 'jquery.tmpl' ], function(Paging) {
    	function Pagination(param) {
    		var config = {
    			pageSize : 8,//每页条数
    			pageNo : 1, //当前页码
    			totalRows : 1,//总条数
    			totalPage : 0,//总页数
    			pageURL : '',//分页请求路径
    			pageTool : '#pageTool', //放置底部分页栏元素的id
    			data : {},//默认请求的参数
    			viewModel : {} //包装分页结果数据
    		}, that = this;
    		that.opts = $.extend(true, config, param);
    		// 初次加载后带有条件的查询
    		that.query = function(params) {
    			for ( var key in params) {
    				that.opts.data[key] = params[key];
    			}
    			that.opts.data.pageNo = 1;
    			that._IO(that.opts.pageURL, 1, that.opts.data, that._dataTable);
    		};
    		that._init = function() {
    			that._initTable();
    		};
    		that._initTable = function() {
    			var opts = that.opts;
    			opts.data["pageSize"] = opts.pageSize;
    			opts.data["pageNo"] = opts.pageNo;
    			if (that._IO(opts.pageURL, 0, opts.data, that._dataTable)) {
    				opts.paging = new Paging();
    				opts.paging.init({
    					target : opts.pageTool,
    					pagesize : opts.pageSize,
    					count : opts.totalRows,
    					callback : function(pageNo, pageSize, totalPage) {
    						opts.data["pageNo"] = pageNo;
    						that._IO(opts.pageURL, 0, opts.data, that._dataTable);
    					}
    				});
    			}
    		};
    		that._dataTable = function(data, type) {
    			if (data.responseCode)
    				return false;
    			that.opts.totalRows = data.dataCount;
    			// dataInist是数据未放入ko对象前的操作,比如该变某个属性为ko类型的
    			if (typeof that.opts.dataInist != 'undefined')
    				that.opts.dataInist(data.dataCount > 0 ? data.dataList : null);
    			that.opts.viewModel(data.dataCount > 0 ? data.dataList : null);
    			if (type == 1) {
    				that.opts.paging.render({
    					pagesize : that.opts.pageSize,
    					count : that.opts.totalRows > 0 ? that.opts.totalRows : 1
    				});
    			}
    			// 数据装配到ko对象后的回调函数
    			if (typeof that.opts.callback != 'undefined')
    				that.opts.callback();
    			return true;
    		};
    		that._IO = function(url, type, datas, callback) {
    			var isCheck = false;
    			$.ajax({
    				type : "post",
    				url : url,
    				data : datas,
    				async : false,
    				success : function(data) {
    					if (data != undefined)
    						isCheck = callback(data, type);
    				}
    			});
    			return isCheck;
    		};
    		that._init();
    	}
    	;
    	return Pagination;
    });
    3.接下来看下使用例子

    function _viewModel() {
    	var self = this;	
    	self.collectionList = ko.observableArray();
    					
    };
    
    		// 初始化
    		that._init = function() {
    			that.opts.viewModel = new _viewModel();
    			that.opts.pagina = new Pagination({
    				pageSize : that.opts.pageSize,
    				pageURL : that.opts.getCollectionListURL,
    				pageTool : that.opts.pageToll,
    				viewModel : that.opts.viewModel.collectionList,
    				dataInist : function(datas) {
    					if (datas == null)
    						return false;
    					$.each(datas, function(i, e) {
    						e.checked = ko.observable(false);
    						e.isCollection = ko.observable(e.isCollection);
    					});
    				}
    			});
    			ko.applyBindings(that.opts.viewModel);
    		};
    
    上面这种就是在数据放入collectionList之前把数据中的指定属性变为ko对象


    展开全文
  • Layui--分页模块文档

    2020-10-07 19:43:41
    Layui–分页模块文档 laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染: 2.基础参数选项: 通过核心方法:laypage.render(options) 来设置基础参数。由于使用非常...

    Layui–分页模块文档

    laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染:

    在这里插入图片描述

    2.基础参数选项:

    通过核心方法:laypage.render(options) 来设置基础参数。由于使用非常简单,本篇直接罗列核心接口的参数选项

    在这里插入图片描述

    3.jump - 切换分页的回调

    当分页被切换时触发,函数返回两个参数:obj(当前分页的所有选项值)、first(是否首次,一般用于初始加载的判断)

    在这里插入图片描述

    展开全文
  • 先说一下框架分页技术,在我们之前那个高校项目中使用DWZ实现的分页用了自定义标签使用起来也比较方便,除了DWZ很多框架已经给我们做好了分页我们需要做的仅仅是把一些分页参数传给我们的框架,俗话说你用别人的东西...
  • kohana下分页模块

    2015-08-17 17:38:27
    关于分页模块。直接引用即可。不用重新去写,使用时直接在bootstrap启用这个模块
  • 秘银分页模块 秘银的小分页模块。 传入一组项目,并根据提供的选项进行分页。 如何使用 // Mock some data var items = []; for (var i = 0; i<15; i++) { items.push({'name':'Item #'+i}) } /** * Your ...
  • JSP公用分页模块+数字分页

    千次阅读 2012-08-23 11:08:38
    JSP公用分页模块+数字分页 我的博客 http://blog.csdn.net/yjflinchong 转发请注明来源! 共${web.page.pageCount}页,第${web.page.currentPage }页 上一页 2}">class="active">1... = -1 && ...
  • django分页模块

    2019-07-15 19:41:41
    前端分页 将所有数据一次性返回给前端页面,再通过js进行分页,对数据库负担比较大。 后端分页 在数据库查询的时候,就查询出指定页的数据,不多查。 Article.object.all()[:5] Queryset有惰性特质,在不涉及到: 1...
  • 先说一下框架分页技术,在我们之前那个高校项目中使用DWZ实现的分页用了自定义标签使用起来也比较方便,除了DWZ很多框架已经给我们做好了分页我们需要做的仅仅是把一些分页参数传给我们的框架,俗话说你用别人的东西...
  • 一个用于web页 面数据邦定 的分页组件
  • 这篇讲一下我是如何在项目中抽离出分页模块的。 这段时间做的项目让我很头疼,因为前面写代码的时候没有考虑很多东西,写到后面就发现代码越来越重。 而且在不同页面都有相同的代码,比如分页。 前有大神说:长痛...
  • 环境准备 目的:把分页模块方式实现,然后在需要分页的地方直接调用模块。 环境准备:创建一个Django项目,并从中生成一个App,注册之后配置urls&amp;Models。 配置Urlsfrom django.conf.urls import url, ...
  • 本例子是利用vc和sqlserver2005,实现了分页的功能。
  • <!... //执行一个laypage实例 laypage.render({ elem: 'test1' //注意,这里的 test1 是 ID,...laypage将会借助 count 和 limit 计算出分页数。 ,groups:10//连续出现的页码个数 }); }); </script> </html>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,985
精华内容 31,994
关键字:

分页模块