meteor中分页库alethes:pages用法汇总

时间:2022-03-26 02:32:33

1.添加分页库:

meteor add alethes:pages

2.新建分页:

Pages = new Meteor.Pagination("collection-name")

3.设定(分通用/客户端/服务端):

客户端:

  • dataMargin (Number, default = 3) - 临近页面预取缓存页数.
  • filters (Object, default = {}) - MongoDB find query object, eg. {name: {$lt: 5}}
  • itemTemplate (String, default = "paginateItemDefault") - 用于条目像显示的模板名称. 默认将列出条目的所有属性。
  • navShowEdges (Boolean, default = false) - 是否在导航面板中显示首、末页链接 («) .
  • navShowFirst (Boolean, default = true) - 是否在导航面板中显示首页链接 («) .
  • navShowLast (Boolean, default = true) - 是否在导航面板中显示末页链接 (») .
  • onReloadPage1 (Boolean, default = false) - 是否因设置改变(eg. new sorting order)导致重新加载数据后导航至页面1。
  • paginationMargin (Number, default = 3) - 在导航面板中显示的临近页面链接数目。
  • perPage (Number, default = 10) - 每页显示条目数目 or 无限翻滚模式每次请求加载数 (不能大于服务端pageSizeLimit值)
  • requestTimeout (Number, default = 3) - 重试前响应等待时间,单位:秒 (主要用于页面中有多个集合时)。
  • route (String, default = "/page/") - 后续页面路由前缀 (eg. "/page/" gives "/page/1", "/page/2" etc.)
  • router (String, default = **undefined)** - 三个选项:
    • true - 由用户独立设定使用的路由
    • false - 不使用路由
    • "iron-router" - 使用iron-route并且Pages库自动设置路径
  • routerTemplate (String, default = "pages") - iron-router用来生成分页的模板
  • routerLayout (String, default = "layout") - iron-router用来生成分页的布局
  • sort (Object, default = {}) - MongoDB sort determining object, eg. {name: 1}
  • templateName (String, default = "") - 使用的模板的名字. 末尾与集合名保持一致.

服务端:

  • auth (Function, default = undefined) - 由内建发布方法调用的授权函数,参数有:

    • skip - 预先计算条目数量,跳过基于正在发布的页面数. 返回游标时使用.
    • subscription - the Meteor subscription object (this in Meteor.publish()). 在已验证的连接中, subscription.userId 记录当前登录用户的 _id. 否则为 null.  Pagination对象上下文调用授权函数. 总页数不是必须的,并且页面依赖性授权规则会是总数计算无效,所以不显示页数. 总页数用于正确显示导航控件.

    授权函数的返回值为:

    • true - 授权对分页集合的无限制访问
    • a falsy value - 拒绝对分页集合的访问
    • a Number - 发布页码小于特定数值的页面 (页码始于1).
    • an Array of the form: [filters, options] - 发布 this.Collection.find(*filters*, *option*)
    • a Mongo.Collection.Cursor (or some other cursor with a compatible interface) -发布该游标.
    • an Array of Mongo.Collection.Cursor objects (or some others cursor with a compatible interface) - 发布游标数组. 发布一个游标或游标数组时,必须手动设置 realFilters (用于发布的filters; 有时与客户端可见的过滤器不同) or nPublishedPages (显式标识已发布页面的数量) 以正确绘制导航控件.大多数情况下推荐返回过滤器和选项的数组(选项4).
  • availableSettings (Object, default = {}) - 定义由客户端发起的设置改变规则.有效的实体通过键引用设置的名字,并提供如下值:
    • true - 允许对设置的所有改变 (if not otherwise limited by constraints such as pageSizeLimit)
    • a falsy value - 显式拒绝所有修改.
    • a Function - 定义设置修改策略.
  • divWrapper (String, Boolean, default = "pageCont") - 在未启用table模式下设置该属性, 分页页面被包装进提供class名称的div元素中
  • fastRender (Boolean, default = false) - 设置是否使用fast-render package加速页面加载
  • homeRoute (String, default = "/") - if "iron-router" is enabled, the specified route sets currentPage to 1
  • infinite (Boolean, default = false) - infinite scrolling
  • infiniteItemsLimit (Number, default = Infinity) - ‘无限加载’模式下每次加载的最大条目数量. 设置后只有最新的n条将显示在页面上.
  • infiniteRateLimit (Number, default = 1) - 设置无限加载模式下后续页面变化之间的最小时间间隔 (in seconds)
  • infiniteTrigger (Number, default = .8) - 在无限加载模式下,设置请求的新数据部分与页面底部的距离 (for val > 1: in pixels, for 0 > val >= 1: in (1 - percent))
  • navTemplate (String, default = "_pagesNav") - 用于分页导航的模板名称
  • onDeniedSetting (Function, logs "Changing {{setting}} not allowed." to console by default) - called when the setting is unavailable to the client (based on the rules defined in #availableSettings() or lack thereof).
  • pageTemplate (String, default = "_pagesPage") - 显示条目页面的模板名称
  • pageSizeLimit (Number, default = 60) -限制每页显示的最大条目数
  • rateLimit (Number, default = 1) - 设置后续页面之间改变的最小时间间隔(以秒为单位)
  • routeSettings (Function, default = undefined) - 可选函数,当启用iron-router时,在onBeforeAction中被route对象(this in onBeforeAction) 作为参数调用 (Pagination对象上下文) . 该函数能够基于route的参数(see iron-router example, view 3)修改分页设置 (eg. filters).
  • table (Object, Boolean, default = false) - 从分页集合生成表格.属性有:
    • fields (Array, required) - an array of fields to be displayed in subsequent columns of the table
    • class (String, default = "") - 表格的class名称
    • header (Array, default = fields) - 表头标签数组.
    • wrapper (String, Boolean, default = false) - 可选的 <div> 封装的class名称. 未设置时不生成封装.