如何在Ember 2.2模板中显示hasMany关系

时间:2016-03-06 14:24:50

标签: ember.js ember-data

无法弄清楚为什么我的相关项目没有加载。

模型/ 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,因此列表为空。如果它没有自动加载它们如何加载它们?

0 个答案:

没有答案