我有一个Emberjs应用程序,它在主页面上包含一个仪表板,由/ browse路径加载。我需要在浏览路径中选择多个模型,因此我可以将它们分配给我在页面上的多个视图。
我可以使用下面的代码检索模型,但我觉得我做错了 - 即使数据在相应的模板中可用,我也不确定如何在模板之外引用模型。
当我为仪表板上的每个模板调用setupController时,如何指定我需要的模型?我甚至需要调用setupController吗?我真的很想了解Emberjs中的模型选择,分配和管理,所以任何建议都非常值得赞赏!
App.BrowseRoute = Ember.Route.extend({
model: function () {
return new Ember.RSVP.hash({
sort: this.store.find('sort'),
feature: this.store.find('feature'),
category: this.store.find('category'),
activity: this.store.find('activity')
});
},
setupController: function (controller, model) {
this.controllerFor('sort').set('model', this.sort);
},
setupController: function (controller, model) {
this.controllerFor('feature').set('model', this.feature);
},
setupController: function (controller, model) {
this.controllerFor('category').set('model', this.category);
},
setupController: function (controller, model) {
this.controllerFor('activity').set('model', this.activity);
}
});
答案 0 :(得分:2)
您可以在解析模型挂钩后使用controller.set('desiredModelName', model)
设置多个模型。
App.BrowseRoute = Ember.Route.extend({
model: function () {
return new Ember.RSVP.hash({
sort: this.store.find('sort'),
feature: this.store.find('feature'),
category: this.store.find('category'),
activity: this.store.find('activity')
});
},
setupController: function (controller, model) {
this._super(controller, model);
controller.set('sortModel', model.sort);
controller.set('featureModel', model.feature);
controller.set('categoryModel', model.category);
controller.set('activityModel', model.activity);
},
});