假设我有两个控制器,CompaniesController
和IndexController
。事实证明,Index
路由所需的所有数据都来自CompaniesController
。所以,我已经指定了我的IndexController
:
App.IndexController = Ember.ArrayController.extend({
needs: 'companies',
});
如果CompaniesController
已经初始化,这种情况很有效,但是我第一次访问该网站时呢? CompaniesController
是空的。
因此,我需要在CompaniesController
内初始化IndexController
的数据。我该怎么做?
答案 0 :(得分:5)
在setupController
:
controllerFor
和IndexRoute
App.IndexRoute = Ember.Route.extend({
model: function() {
return this.store.find('company');
},
setupController: function(controller, model) {
this.controllerFor('companies').set('model', model);
}
});
答案 1 :(得分:1)
听起来像你可能想要扭转依赖关系并让你的CompaniesController依赖于Application,如下所示:
App.CompaniesController = Ember.ArrayController.extend({
needs: 'application',
contentBinding: 'controllers.application.companies'
});
然后,只需在首次加载基本路径时根据需要初始化应用程序。