setupController中的ember model.get('elements.content.content')?

时间:2016-02-10 23:51:51

标签: ember.js

我正在尝试更新ember 1.7应用。在路由的setupController()中

this.controllerFor('editor/object-list').set('model', model.get('elements.content.content'));

被调用,而element.content.content似乎返回一个模型数组。在1.10中,它返回undefined。

elements和elements.content返回<DS.PromiseManyArray:ember748><DS.ManyArray:ember749>,但1.10中的elements.content没有content属性。在1.7中它确实如此。相反,1.10具有canonicalState / currentState属性,似乎可以保存所需的数据。我不明白为什么甚至这样做。有人有想法吗?

2 个答案:

答案 0 :(得分:0)

似乎elements是异步关系,所以你应该解决这个承诺:

model.get('elements').then(m => this.controllerFor('editor/object-list').set('model',m));

答案 1 :(得分:0)

在afterModel中为我回复承诺:

afterModel: function(sheet) {
    var elements = sheet.get('elements');
    var images = elements.map(function(e){ return e.get('image'); });

    return Ember.RSVP.all(images);
},