emberjs如何在控制器和视图之间进行通信?

时间:2014-09-28 15:36:22

标签: ember.js

我将应用程序中的一些快捷方式管理到控制器中。但是当用户按下热键组合时,我需要在视图中运行特定的方法。

例如,当用户按

Right arrow

我想leftScroll()我的视图,但我在控制器中有一个动作

actions: {
    rightArrow: function(...) {  }
}

如何在视图中调用方法?

1 个答案:

答案 0 :(得分:0)

this.get('controller')是你如何在视图中选择相应的控制器,因此你可以在didInsertElement

内的动作中触发它

e.g。

didInsertElement: function() {
    var controller = this.get('controller');
    $('body').keyDown(function(e) {
        if(e.keyCode == 39) { // right
            controller.send('rightArrow');
        }
    });
}