emberjs pre2 では、次の方法で別のコントローラーからコントローラーまたはコントローラー内の任意のメソッドにアクセスできました。
App.get('router').get('navController').method1();
emberjs rc1の同様のコードを提案できる人はいますか?
ありがとう
emberjs pre2 では、次の方法で別のコントローラーからコントローラーまたはコントローラー内の任意のメソッドにアクセスできました。
App.get('router').get('navController').method1();
emberjs rc1の同様のコードを提案できる人はいますか?
ありがとう
は推奨されていないため、より正しい方法はニーズcontrollerFor
にあると思います:
this.get('controllers.nav').method1()
コントローラーでニーズを宣言する必要があります。
App.YourController = Ember.ObjectController.extend({
needs: ['nav'],
....
aController
または a の中でRoute
試すことができます
this.controllerFor("nav").method1()
これは質問されたときの正解でしたが、廃止されたため、 joscascontrollerFor
の回答を確認してください
Ember 2 では、これは、アクセスしたいコントローラーを注入することで機能します。
export default Ember.Controller.extend({
nav: Ember.inject.controller(),
});
または、コントローラー名とは異なる名前を指定する場合:
export default Ember.Controller.extend({
navController: Ember.inject.controller('nav'),
});
次に、注入されたコントローラーのメソッドに次のようにアクセスできます。
this.get('navController').method1()