如何在我的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