9

HomeController内にApplicationControllerを取得するにはどうすればよいですか?

 HomeController=Ember.Controller.Extend({
   init:function {
        // Here I want to get My application controller. Is there any way to get??
   }

 })
4

2 に答える 2

17

HomeController内にApplicationControllerを取得するにはどうすればよいですか?

コントローラ間の依存関係(またはニーズ)を指定するには、次のneedsプロパティを使用します。

HomeController=Ember.Controller.Extend({
  needs: ['application']
})

これで、Emberは、HomeController内からアプリケーションコントローラーにアクセスできるようにしますcontrollers.application。他の方法と同じように使用できHomeController、テンプレートからもアクセスできます。

<!-- inside `home` template -->
{{controllers.application}}

controller-needsの詳細については、http://darthdeus.github.com/blog/2013/01/27/controllers-needs-explained/を参照してください。

ところで:残り火コントローラーがカスタムinitfxを使用することは非常にまれです。代わりに、初期化ロジックを移動setupControllerしてルートにフックすることを検討してください。

于 2013-02-19T06:39:49.693 に答える
-1
App.HomeController = Ember.Controller.extend({
  init: function () {
    var applicationController = this.controllerFor('application');
  }
});
于 2013-02-19T04:46:50.020 に答える