ember.js - Ember 数据批量获取异步有很多关系记录

标签 ember.js ember-data json-api

我想知道是否可以以在单个请求中加载异步 hasMany 关系的方式配置 Ember 数据。

给定以下模型:

// models/post.js
export default DS.Model.extend({
  comments: DS.hasMany()
});

// models/comments.js
export default DS.Model.extend({
  ...
});

当我在模板或 Controller 中的某处引用属性 comments 时,它将在单独的请求中逐一获取帖子的相关评论。这会导致许多请求,我想将这些请求合并到一个请求中,并在 id-property 上进行过滤。

最佳答案

您必须为所需的行为启用一个名为 coalesceFindRequests: true 的开关,您可以像这样在应用程序适配器中设置它:

// adapters/application.js
import DS from 'ember-data';

export default DS.RESTAdapter.extend({
    coalesceFindRequests: true,
});

现在 Ember 将通过 ..api/comments?ids[]=1&ids[]=2 获取已知 ID 的多条记录

我想对于 JSONAdapter 也是一样的。

关于ember.js - Ember 数据批量获取异步有很多关系记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49917485/

相关文章:

Ember.js 的入门代码片段重复每个导航的模板

ember.js - Ember 资源 URL : how to make it use other values rather than ID?

ember.js - 通过 sortProperty mixin 对 Ember-Data 支持的 ArrayController 进行排序

ember.js - 如何回滚 EmberData 中的关系更改

json - 将查询参数添加到 Go Json Rest

javascript - ember js 从 json 获取元信息

login - 当 ember-data 收到 http 状态 401 时,Ember.js 应用程序应该重定向到登录

javascript - Ember : related model appears in chrome inspecter but empty in template

javascript - EmberJS View - 检测是否所有 subview 都已呈现