在 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()
这是问问题时的正确答案,但由于controllerFor
已弃用,请检查joscas的答案
在 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()