如何在HomeController中获取ApplicationController?
HomeController=Ember.Controller.Extend({
init:function {
// Here I want to get My application controller. Is there any way to get??
}
})
答案 0 :(得分:17)
如何在HomeController中获取ApplicationController?
要指定控制器之间的依赖关系(或需求),请使用needs
属性:
HomeController=Ember.Controller.Extend({
needs: ['application']
})
现在,Ember将使您的HomeController内的应用程序控制器可以controllers.application
访问。您可以像使用任何其他HomeController
一样使用它,甚至可以从模板中访问它:
<!-- inside `home` template -->
{{controllers.application}}
有关控制器需求的详细信息,请参阅http://darthdeus.github.com/blog/2013/01/27/controllers-needs-explained/。
BTW:ember控制器很少使用自定义init fx。考虑将任何初始化逻辑移到路由上的setupController
挂钩。
答案 1 :(得分:-1)
App.HomeController = Ember.Controller.extend({
init: function () {
var applicationController = this.controllerFor('application');
}
});