ember.js – 如何在Ember 2.x中使用json-api分页链接?

目前我正在使用Rails(4.1.0)API和Ember(2.1.0)开发应用程序,我很难在Ember边工作中进行分页.

Rails API JSON输出包括自动制作的分页链接(来自AMS和Kaminari分页中的JSON API适配器的组合),如下所示:

"links": {
    "self": "http://example.com/articles?page[number]=3&page[size]=1",
    "first": "http://example.com/articles?page[number]=1&page[size]=1",
    "prev": "http://example.com/articles?page[number]=2&page[size]=1",
    "next": "http://example.com/articles?page[number]=4&page[size]=1",
    "last": "http://example.com/articles?page[number]=13&page[size]=1"
  }

任何人都可以给我一个提示如何在Ember-Data中获取这些值,以便在Ember模板中使用它们?有没有人找到这个问题的临时解决方法(因为有一天Ember可能会完全兼容JSON API)?

每一点帮助都将非常感激;)

参考AMS中的JSON API适配器和Kaminari分页的组合:
https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md

编辑:

在这个问题上取得一些进展后,我认为现在要问:
如何在页面中传递哈希值:{number:x,size:y}在请求来自Ember的Rails API的params中?

最佳答案 Ember正在调用描述有效负载的数据:元/元数据.希望这将有助于未来的搜索.

您只需创建一个Serializer来截取服务器的有效负载,并将response.links移动到Ember Data的元数据中.

元数据的Ember指南:
http://guides.emberjs.com/v2.1.0/models/handling-metadata/

Ember Data API的extractMeta方法:
http://emberjs.com/api/data/classes/DS.JSONAPISerializer.html#method_extractMeta

或者,查看您发布的JSON API链接,您甚至可以更改它,以便在response.meta中回复链接.

https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md#json-adapter

点赞