我正在从我的ApplicationRoute中的XboxLive和其他服务加载数据,并希望使用命名出口显示该信息。我使用此StackOverflow answer作为指导,但它不起作用。
小提琴在这里:http://jsfiddle.net/sandalsoft/7xHfp/
在ApplicationRoute
中,model
挂钩加载来自在线服务的数据。此数据可以model.xbox
,model.facebook
等方式访问... setupController
然后将content
的{{1}}设置为XboxprofileController
。
当我调用model.xbox
(返回一个promise)时,这不起作用,但是当我调用App.Xboxprofile.find()
(返回一个简单的对象)时它确实有效。当find()有任何异步时,为什么这不起作用?我错过了一些简单的东西,或者这不是构建这个的正确方法吗?
感谢
答案 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;
},