所以,我正在使用一个路由来保持2个后端API调用的状态。我基本上要做的是:
App.EnvironmentRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('schedule', params.environment_id);
},
setupController: function(controller, model) {
this.controllerFor('schedule').set('content', model);
},
renderTemplate: function() {
this.render('schedule');
},
});
App.ScheduleController = Ember.ArrayController.extend({});
这是仅加载了一个模型的示例,但最终我想要做的是:
App.EnvironmentRoute = Ember.Route.extend({
model: function(params) {
return Ember.RSVP.hash(
schedule: this.store.find('schedule', params.environment_id),
other: this.store.find('other', params.environment_id)
}
},
setupController: function(controller, models) {
this.controllerFor('schedule').set('content', models.schedule);
this.controllerFor('other').set('content', models.other);
},
(计划 - 这是一系列模型);我最终想要实现的是将不同控制器的2个后端调用委托给不同的视图/模板。我目前遇到的问题是,即使我可以在Chrome检查器中看到正在进行的后端调用以及正确返回的数据,但Ember.js似乎没有正确加载它或将其设置到ScheduleController中。为了什么值得,我甚至不确定数据是否被加载到模型中,我不知道如何验证,因为Route.model()方法返回一个promise。
我正在使用ember 1.0.0和ember-data 1.0.0-beta3.2