如何在Ember2.x中使用json-api分页链接?
How to use json-api pagination links in Ember 2.x?
目前我正在使用 Rails (4.1.0) API 和 Ember (2.1.0) 开发应用程序,我很难在 Ember副业。
Rails API JSON 输出包括自动生成的分页链接(来自 AMS 中的 JSON API 适配器和 Kaminari 分页的组合),如下所示:
"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中JSONAPI适配器与Kaminari分页的组合:
https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md
编辑:
在这件事上取得了一些进展后,我想现在问一下比较好:
如何从 Ember?
向 Rails API 请求的参数中传递像 page: { number: x, size: y }
这样的散列
Ember 正在调用描述有效载荷的数据:meta/metadata。希望这对以后的搜索有所帮助。
您只需创建一个序列化程序来拦截来自服务器的有效负载并将 response.links 移动到 Ember 数据的元数据中。
Ember 元数据指南:
http://guides.emberjs.com/v2.1.0/models/handling-metadata/
Ember数据API的extractMeta方法:
http://emberjs.com/api/data/classes/DS.JSONAPISerializer.html#method_extractMeta
或者,查看您发布的 JSON API link,您甚至可以更改它,以便 link 在 response.meta 中回复。
目前我正在使用 Rails (4.1.0) API 和 Ember (2.1.0) 开发应用程序,我很难在 Ember副业。
Rails API JSON 输出包括自动生成的分页链接(来自 AMS 中的 JSON API 适配器和 Kaminari 分页的组合),如下所示:
"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中JSONAPI适配器与Kaminari分页的组合: https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md
编辑:
在这件事上取得了一些进展后,我想现在问一下比较好:
如何从 Ember?
page: { number: x, size: y }
这样的散列
Ember 正在调用描述有效载荷的数据:meta/metadata。希望这对以后的搜索有所帮助。
您只需创建一个序列化程序来拦截来自服务器的有效负载并将 response.links 移动到 Ember 数据的元数据中。
Ember 元数据指南: http://guides.emberjs.com/v2.1.0/models/handling-metadata/
Ember数据API的extractMeta方法: http://emberjs.com/api/data/classes/DS.JSONAPISerializer.html#method_extractMeta
或者,查看您发布的 JSON API link,您甚至可以更改它,以便 link 在 response.meta 中回复。