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 функция, чтобы правильно принимать значения, возвращаемые из бэкэнда. Проверьте документы для получения дополнительной информации.

Другие вопросы по тегам