用于分頁(yè)的保留屬性名

2018-02-24 15:12 更新

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

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

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

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

data.currentItemCount

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

結(jié)果集中的條目數(shù)目。應(yīng)該與items.length相等,并作為一個(gè)便利屬性提供。例如,假設(shè)開(kāi)發(fā)者請(qǐng)求一組搜索條目,并且要求每頁(yè)10條。查詢集共有14條。第一個(gè)條目頁(yè)將會(huì)有10個(gè)條目,因此_itemsPerPage_和_currentItemCount_都應(yīng)該等于10。下一頁(yè)的條目還剩下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ù)組的大?。蝗绻覀儾榭吹氖亲詈笠豁?yè),data.items的大小可能小于itemsPerPage。但是,data.items的大小不應(yīng)超過(guò)itemsPerPage。

示例:

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

data.startIndex

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

data.items中第一個(gè)條目的索引。為了一致,_startIndex_應(yīng)從1開(kāi)始。例如,第一組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ì)算隨后的分頁(yè)鏈接。URL模板中也包含一些保留變量名:表示要載入的條目的{index},和要載入的頁(yè)面的{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)前頁(yè)索引。為了一致,_pageIndex_應(yīng)從1開(kāi)始。例如,第一頁(yè)的_pageIndex_是1。_pageIndex_也可以通過(guò)基于條目的分頁(yè)而計(jì)算出來(lái)pageIndex = floor(startIndex / itemsPerPage) + 1

示例:

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

data.totalPages

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

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

示例:

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)