Backbone Pageable Collection如何覆盖queryparams值



我在我的web应用程序中使用主干分页器插件(服务器模式(。这个插件以页面的形式与服务器对话。例如,为了获得第5页的结果,它给出了如下请求(取自paginator服务器示例:http://backbone-paginator.github.io/backbone.paginator/examples/server-mode.html)

https://api.github.com/search/issues?page=5&per_page=15&...

但是我的服务器接受count和offset值,而不是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*页面方法,但在那里我无法访问查询参数。

我们非常感谢在这方面的任何帮助。

有点晚了,但您可以尝试覆盖queryParams

 queryParams: {
     currentPage: "page",
     pageSize: "offset"
 }

和状态

state: {
        firstPage: 0,
        pageSize: 20
    }

当然,如果您喜欢

,您可以覆盖backline.paginator.js中的其他参数

您可以使用返回pageSize乘积的函数覆盖statecurrentPage值。

请注意,文档中指出:

[…]您只应在扩展、初始化或获取后由服务器重置期间重写此值。此值应仅在其他时间读取。

您可能还应该重写parseState函数,以便正确地接受从后端返回的值。查看文档以了解更多信息。

最新更新