Базовая разбивка на страницы

кто-нибудь может объяснить мне, как работает этот пример backbone.paginator?

https://github.com/backbone-paginator/backbone.paginator/blob/master/examples/request-paging/collections/PaginatedCollection.js

Я вижу, что к серверной части можно получить доступ по URL-адресу:

paginator_core: {
  type: 'GET',
  dataType: 'jsonp',
  url: 'https://api.github.com/repos/twitter/bootstrap/issues?'
},

Но что/где этот пример передает номер страницы и количество элементов, которые нужно получить из бэкэнда? Мой бэкэнд доступен через следующий URL-адрес restfull: и я не могу понять, как данные следующей страницы вставляются в URL-адрес выше...

www.test.com/getItems/{query}/{from}/{size}

Это автоматически вставляется плагином paginator?


person Jes Chergui    schedule 01.12.2013    source источник


Ответы (1)


Просто проверьте внутреннюю реализацию метода выборки

 // map params except directions
      var queryParams = this.mode == "client" ?
        _pick(this.queryParams, "sortKey", "order") :
        _omit(_pick(this.queryParams, _keys(PageableProto.queryParams)),
              "directions");

      var i, kvp, k, v, kvps = _pairs(queryParams), thisCopy = _clone(this);
      for (i = 0; i < kvps.length; i++) {
        kvp = kvps[i], k = kvp[0], v = kvp[1];
        v = _isFunction(v) ? v.call(thisCopy) : v;
        if (state[k] != null && v != null) {
          data[v] = state[k];
        }
      }

запрос создается на основе

queryParams: {
  currentPage: "page",
  pageSize: "per_page",
  totalPages: "total_pages",
  totalRecords: "total_entries",
  sortKey: "sort_by",
  order: "order",
  directions: {
    "-1": "asc",
    "1": "desc"
  }
},

свойство - таким образом, текущее состояние коллекции сопоставляется с настройкой из queryParams для URL-адреса поколений

person Vasiliy Vanchuk    schedule 26.09.2014