我正在使用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
的方法?
答案 0 :(得分:3)
在控制器中,您将使用needs
,然后获取控制器并将其调用
App.FooController = Ember.ObjectController.extend({
needs:['bar'],
blah: function(){
var barController = this.get('controllers.bar');
barController.toggleProperty('visible');
}
});