我正在使用EmberCLI在Ember中构建一个应用程序。
在我的顶部导航(controllers / navigation / top.js)中,我有一个单击按钮时触发的动作。该操作应打开左侧导航栏(controllers / navigation / left.js)。
我的顶级导航控制器:
import Ember from "ember";
export default Ember.Controller.extend({
actions: {
toggleMenu: function() {
// I need to call toggleProperty on the left navigation controller.
[leftNavigationController].toggleProperty('visible');
}
}
});
如何获得另一个控制器实例来调用
toggleProperty
之类的方法? 最佳答案
在控制器中,您将使用needs
,然后获取控制器并调用它
App.FooController = Ember.ObjectController.extend({
needs:['bar'],
blah: function(){
var barController = this.get('controllers.bar');
barController.toggleProperty('visible');
}
});
http://emberjs.jsbin.com/dofedehi/2/edit