Emberjs - 使用命名出口时如何设置不同路线的模型

时间:2013-09-14 23:50:43

标签: ember.js

我正在从我的ApplicationRoute中的XboxLive和其他服务加载数据,并希望使用命名出口显示该信息。我使用此StackOverflow answer作为指导,但它不起作用。

小提琴在这里:http://jsfiddle.net/sandalsoft/7xHfp/

ApplicationRoute中,model挂钩加载来自在线服务的数据。此数据可以model.xboxmodel.facebook等方式访问... setupController然后将content的{​​{1}}设置为XboxprofileController

当我调用model.xbox(返回一个promise)时,这不起作用,但是当我调用App.Xboxprofile.find()(返回一个简单的对象)时它确实有效。当find()有任何异步时,为什么这不起作用?我错过了一些简单的东西,或者这不是构建这个的正确方法吗?

感谢

1 个答案:

答案 0 :(得分:0)

感谢#emberjs中@alexspeller的回答。

我错误地认为model.xbox是一个承诺。这是一个对象。当我改变我的模型钩子以使用RSVP.hash()时它完美地工作:

model: function(controller)
        var allModels = Em.RSVP.hash({
            xbox: App.Xboxprofile.find('major nelson'),

        }).then(function(hash) {
            return Em.RSVP.hash(hash);
        });

        return allModels;
    },