如何在我的HomeController中获得一个ApplicationController?我如何获得ApplicationController?
HomeController=Ember.Controller.Extend({
init:function {
// Here I want to get My application controller. Is there any way to get??
}
})
如何在我的HomeController中获得一个ApplicationController?我如何获得ApplicationController?
HomeController=Ember.Controller.Extend({
init:function {
// Here I want to get My application controller. Is there any way to get??
}
})
我怎样才能让我的HomeController里面的ApplicationController的?
要指定控制器之间的依赖关系(或需要),使用needs
属性:
HomeController=Ember.Controller.Extend({
needs: ['application']
})
现在灰烬将使应用程序控制器从您的HomeController为controllers.application
内部触及。你可以使用它像任何其他HomeController
,甚至从你的模板访问:
<!-- inside `home` template -->
{{controllers.application}}
对控制器的需求详见http://darthdeus.github.com/blog/2013/01/27/controllers-needs-explained/。
顺便说一句:这是非常罕见的一个烬控制器使用自定义init fx。考虑将任何初始化逻辑转移到路由上的setupController
挂钩。
2013年10月:我不得不使用'this.get('controllers.application')'而不是'controllers.application'。 – 2013-10-03 07:29:09
App.HomeController = Ember.Controller.extend({
init: function() {
var applicationController = this.controllerFor('application');
}
});
controllerFor在1.0.0.rc1中不推荐使用,而是使用Michael Grassotti的答案中描述的需求机制。 – ianpetzer 2013-02-19 08:54:32
使用“controllerFor”获取控制器.... this.controllerFor('application')应该可以工作 – selvagsz 2013-02-19 03:57:00