Backbone Pageable Collection如何覆盖queryparams值

时间:2015-07-03 12:16:38

标签: backbone.js 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&...

但我的服务器接受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”哈希更改参数名称。但无法弄清楚如何将page = 5更改为offset = 76。

我认为我应该覆盖get * page方法,但是我无法访问查询参数。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

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

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

和州

state: {
        firstPage: 0,
        pageSize: 20
    }

当然,如果您愿意,可以覆盖backbone.paginator.js中的其他参数

答案 1 :(得分:0)

您可以使用返回state的乘法的函数覆盖currentPage的{​​{1}}值。

请注意the docs说明:

  

[...]您应该只在获取服务器的扩展,初始化或重置期间覆盖此值。此值应仅在其他时间读取。

您可能还应该覆盖pageSize函数,以正确接受从后端返回的值。查看the docs了解更多信息。