没有 ember-data 不会为您执行此操作,但应该可以实现。在这两种情况下,ember-data 都会侧载这些属性。(在过去的版本中,您可以设置映射以便嵌入这些映射,但您不再可以这样做)在您的示例中,您将拥有以下内容:
App.Book = DS.Model.extend({
chapters: DS.hasMany('Chapter')
});
App.Chapter= DS.Model.extend({
book: DS.belongsTo('Book')
});
一旦设置了这些,默认情况下 ember-data 将查找结构如下的数据:
{
"book": {
"id": "1"
"chapters": ["1", "2", "3"]
},
"chapters": [
{
"id": "1",
"book": "1"
},
{
"id": "2",
"book": "1"
},
{
"id": "3",
"book": "1"
}
]
}
如果您的数据不是该格式并且您无法更改它,那么您可以在该类型的序列化程序上扩展 extractSingle 或 extractArray 方法。在此 链接的底部,您可以找到更多相关信息。另请记住,它以驼峰形式查找它,因此您可能还需要规范化 json 对象。