Backbone Pageable Collection, как переопределить значение queryparams
Я использую плагин Backbone Paginator (режим сервера) в моем веб-приложении. Этот плагин говорит с сервером в терминах страниц. Например, чтобы получить результаты для страницы 5, он выдает запрос, как показано ниже (взят из примера сервера paginator: http://backbone-paginator.github.io/backbone.paginator/examples/server-mode.html).
https://api.github.com/search/issues?page=5&per_page=15&...
Но мой сервер принимает значения количества и смещения вместо page и per_page. Итак, я должен преобразовать
"page=5" to "offset=76" (assuming page size is 15).
так же
"per_page=15" becomes "count=15".
Итак, модифицированный запрос должен выглядеть так:
https://api.github.com/search/issues?offset=101&count=15&...
Я мог бы изменить имена параметров, используя хэш "queryParams". Но не смог понять, как изменить страницу =5 на смещение =76.
Я думал, что должен переопределить методы get * page, но там у меня нет доступа к параметрам запроса.
Любая помощь в этом высоко ценится.
2 ответа
Немного поздно, но вы можете попробовать переопределить queryParams
queryParams: {
currentPage: "page",
pageSize: "offset"
}
и государство
state: {
firstPage: 0,
pageSize: 20
}
Конечно, вы можете переопределить дополнительные параметры из backbone.paginator.js, если хотите
Вы можете переопределить state
"s currentPage
значение с функцией, которая возвращает умножение pageSize
,
Обратите внимание, что документы утверждают, что:
[…] Вы должны переопределять это значение только во время расширения, инициализации или сброса сервером после извлечения. Это значение должно быть прочитано только в другое время.
Вы, вероятно, должны также переопределить parseState
функция, чтобы правильно принимать значения, возвращаемые из бэкэнда. Проверьте документы для получения дополнительной информации.