无法弄清楚为什么我的相关项目没有加载。
模型/ group.js
export default Model.extend({
name: DS.attr('string'),
slideshows: DS.hasMany('slideshow', { async: true }),
});
模型/ slideshow.js
export default Model.extend({
title: DS.attr('string'),
group: DS.belongsTo('group', { async: true }),
});
主要观点:
{{#each groups as |group|}}
{{slideshow-group group=group}}
{{/each}}
模板/组件/幻灯片-group.hbs
<li>
<h2>{{group.name}}</h2>
<ul>
<li>{{group.slideshows}}</li>
{{#each group.slideshows as |slideshow|}}
<li>
<h2>{{slideshow.title}}</h2>
</li>
{{/each}}
</ul>
</li>
这就是我创建记录的方式。此调用是在RSVP内部创建的,所以我确定它已被保存。
slideshow = this.store.createRecord('slideshow', {
title: 'blah',
group: group
});
group.get('slideshows').pushObject(slideshow);
slideshow.save();
我尝试将群组从幻灯片放映中移除,仅在幻灯片放映中设置群组,同时设置两者,并在幻灯片放映后调用pushObject。看来链接只存储在幻灯片中?
第一个LI显示group.slideshows为DS.PromiseManyArray和group.slideshows.length = 0,因此列表为空。如果它没有自动加载它们如何加载它们?