用于分頁的保留屬性名

2018-02-24 15:12 更新

下面的屬性位于_data_對(duì)象中,用來給一列數(shù)據(jù)分頁。一些語言和概念是從OpenSearch規(guī)范中借鑒過來的。

下面的分頁數(shù)據(jù)允許各種風(fēng)格的分頁,包括:

  • 上一頁/下一頁 - 允許用戶在列表中前進(jìn)和后退,一次一頁。nextLink?和_previousLink_屬性 (下面的"鏈接保留屬性名"部分有描述) 用于這種風(fēng)格的分頁。
  • 基于索引的分頁 - 允許用戶直接跳到條目列表的某個(gè)條目位置。例如,要從第200個(gè)條目開始載入10個(gè)新的條目,開發(fā)者可以給用戶提供一個(gè)URL的查詢字符串?startIndex=200
  • 基于頁面的分頁 - 允許用戶直接跳到條目?jī)?nèi)的具體頁。這跟基于索引的分頁很類似,但節(jié)省了開發(fā)者額外的步驟,不需再為新一頁的條目計(jì)算條目索引。例如,開發(fā)人員可以直接跳到第20頁,而不是跳到第200條條目?;陧撁娣猪摰木W(wǎng)址,可以使用查詢字符串_?page=1?page=20_。_pageIndex_和?totalPages?屬性用作這種風(fēng)格的分頁.

在這份指南的最后可以找到如何使用這些屬性來實(shí)現(xiàn)分頁的例子。

data.currentItemCount

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

結(jié)果集中的條目數(shù)目。應(yīng)該與items.length相等,并作為一個(gè)便利屬性提供。例如,假設(shè)開發(fā)者請(qǐng)求一組搜索條目,并且要求每頁10條。查詢集共有14條。第一個(gè)條目頁將會(huì)有10個(gè)條目,因此_itemsPerPage_和_currentItemCount_都應(yīng)該等于10。下一頁的條目還剩下4條;_itemsPerPage_仍然是10,但是_currentItemCount_是4.

示例:

{
  "data": {
    // "itemsPerPage" 不需要與 "currentItemCount" 匹配
    "itemsPerPage": 10,
    "currentItemCount": 4
  }
}

data.itemsPerPage

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

items結(jié)果的數(shù)目。未必是data.items數(shù)組的大??;如果我們查看的是最后一頁,data.items的大小可能小于itemsPerPage。但是,data.items的大小不應(yīng)超過itemsPerPage

示例:

{
  "data": {
    "itemsPerPage": 10
  }
}

data.startIndex

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

data.items中第一個(gè)條目的索引。為了一致,_startIndex_應(yīng)從1開始。例如,第一組items中第一條的_startIndex_應(yīng)該是1。如果用戶請(qǐng)求下一組數(shù)據(jù),_startIndex_可能是10。

示例:

{
  "data": {
    "startIndex": 1
  }
}

data.totalItemsx

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

當(dāng)前集合中可用的總條目數(shù)。例如,如果用戶有100篇博客文章,響應(yīng)可能只包含10篇,但是_totalItems_應(yīng)該是100。

示例:

{
  "data": {
    "totalItems": 100
  }
}

data.pagingLinkTemplate

屬性值類型: 字符串(string)
父節(jié)點(diǎn): data

URL模板指出用戶可以如何計(jì)算隨后的分頁鏈接。URL模板中也包含一些保留變量名:表示要載入的條目的{index},和要載入的頁面的{pageIndex}。

示例:

{
  "data": {
    "pagingLinkTemplate": "http://www.google.com/search/hl=en&q=chicago+style+pizza&start={index}&sa=N"
  }
}

data.pageIndex

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

條目的當(dāng)前頁索引。為了一致,_pageIndex_應(yīng)從1開始。例如,第一頁的_pageIndex_是1。_pageIndex_也可以通過基于條目的分頁而計(jì)算出來pageIndex = floor(startIndex / itemsPerPage) + 1

示例:

{
  "data": {
    "pageIndex": 1
  }
}

data.totalPages

屬性值類型: 整數(shù)(integer)
父節(jié)點(diǎn): data

當(dāng)前結(jié)果集中的總頁數(shù)。_totalPages_也可以通過上面基于條目的分頁屬性計(jì)算出來:?totalPages = ceiling(totalItems / itemsPerPage).

示例:

{
  "data": {
    "totalPages": 50
  }
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)