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

标签 ember.js ember-data 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和Kaminari分页中JSON API适配器的组合:
https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md

编辑:

在这件事上取得了一些进展后,我认为现在最好问:
如何像page: { number: x, size: y }一样传递hash在从 Ember 请求 Rails API 的参数中?

最佳答案

Ember 将描述负载的数据称为:元/元数据。希望这将有助于 future 的搜索。

您只需要创建一个序列化程序来拦截来自服务器的负载并将 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

关于ember.js - 如何在 Ember 2.x 中使用 json-api 分页链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33101625/

相关文章:

postgresql - 使用 PostgreSQL 和 json-api 的发布请求返回一个空体

json-api - 如何创建复合文档?

ember.js - Ember 嵌套组件 Action 不冒泡

javascript - 如何使用 ember-model 定义枚举

javascript - Ember.js 和 Mootools 不兼容?

ember.js - Ember 数据 - 更改模型 URL

javascript - Ember-data DS.Model 中的私有(private)变量

javascript - 如何检测 ember 数据中的新记录是否已更改

ember.js - 模型在 Controller 上返回 null

events - 事件存储中的事件模型或模式