更新到emberjs-rc.2时自行解决。见答案。
在我的应用程序中,我有2个页面具有向导功能。在第一页上,用户将提供一些数据,在下一页上,用户将根据第一页上的数据选择列表中的项目。我想要做的是,即使用户仍在第一页上,只要第一页上的所需数据有效,就开始加载第二页的数据。这是因为构建列表服务器需要一些时间,我希望在转换到下一页时准备好数据。
两个页面/路由嵌套在同一资源下。
我的路线:
App.YayRoute = Ember.Route.extend({
events: {
dataValid: function() {
this.controllerFor('yaySecond').send('loadStuff');
}
}
});
App.YaySecondRoute = Ember.Route.extend({
events: {
loadStuff: function() {
this.controller.set('stuff', App.Stuff.find());
}
}
});
在YayFirstController中,我正在观察相关数据并执行this.send('dataValid')。顶部路线YayRoute选择了这个,并在第二条路线上触发loadStuff。 App.Stuff.find()看起来像这样
find: function() {
var result = Ember.A([]);
$.getJSON(url, function(data) {
// populate result
});
return result;
}
一切都在预期运行,但我的问题是当从loadStuff调用时,不会填充YaySecondController上的内容。如果我在YaySecondRoute上将loadStuff的 controller.set('stuff',App.Stuff.find())内容添加到setupController,数据将加载OK。但随后我尽快加载了数据。有什么想法吗?
答案 0 :(得分:0)
所以,这在今天更新到emberjs-rc.2时解决了。我还是新手,所以我不知道发生了什么。无论如何,这是正确的方法吗?这似乎有些麻烦。