Javascript 通过hasMany关系访问ember模型对象中的相关集合
我可能从根本上误解了如何在余烬/余烬模型中使用hasMany关系 自述文件有以下示例Javascript 通过hasMany关系访问ember模型对象中的相关集合,javascript,ember.js,ember-model,Javascript,Ember.js,Ember Model,我可能从根本上误解了如何在余烬/余烬模型中使用hasMany关系 自述文件有以下示例 postJson = { id: 99, title: 'Post Title', body: 'Post Body', comments: [ { id: 1, body: 'comment body one', }, { id: 2, body: 'comment body two' } ] }; App.
postJson = {
id: 99,
title: 'Post Title',
body: 'Post Body',
comments: [
{
id: 1,
body: 'comment body one',
},
{
id: 2,
body: 'comment body two'
}
]
};
App.Post = Ember.Model.extend({
id: Ember.attr(),
title: Ember.attr(),
body: Ember.attr(),
comments: Ember.hasMany('App.Comment', {key: 'comments', embedded: true})
});
App.Comment = Ember.Model.extend({
id: Ember.attr(),
body: Ember.attr()
});
想必,人们会这样做
post = App.Post.create();
post.load(1, postJson);
鉴于上述情况,现在我们可以通过get访问各种post
道具(即post.get('title')
),但如何访问评论
post.get('comments')
返回一个对象,但它不是App.Comment对象的集合,这正是我所期望的
提前感谢您提供的所有帮助。它返回一个可编辑的集合对象,但不是数组。我正在用您的代码编写一个示例,我会立即发布它(我非常确定load是一个私有方法,您应该在模型定义中使用load,然后查找)
啊,这为我指明了正确的方向。另一个混淆点是,在本例中,“注释”是此处概述的余烬枚举
App.Post.load(postJson); //sideloading
return App.Post.find(99);