Ember.js 我希望每次按下esc_键时都能在对象控制器中调用我的操作。观察()

Ember.js 我希望每次按下esc_键时都能在对象控制器中调用我的操作。观察(),ember.js,Ember.js,我正在读关于.observes()方法的Ember文档,但是我仍然不知道如何使用observes()来检测像keyDown这样的东西 因此,对于这个例子,我们在一个对象控制器中 someAction: function() { console.log('This will be written in the console every time the esc_key has been pressed on this page. }.observes(the esc_key being p

我正在读关于.observes()方法的Ember文档,但是我仍然不知道如何使用observes()来检测像keyDown这样的东西

因此,对于这个例子,我们在一个对象控制器中

someAction: function() {
  console.log('This will be written in the console every time the esc_key has been pressed on this page. 
}.observes(the esc_key being pressed),

观察模型中的属性,而不是用户采取的操作。事件(如keyDown)由视图层跟踪和处理(按照约定,视图层与模板具有相同的名称)

有关详细信息,请参阅以下链接:


Ember的解决方案对我来说似乎有点适得其反,如果我希望esc_键在处理控制器中属性的操作中处理事件,那么该操作不应该在控制器中而不是视图中,因为属性也在其中?是的,你是对的。该视图处理浏览器事件并触发控制器动作。请参阅下面的-@IanSteffy,这是不正确的。视图处理用户事件,控制器执行业务逻辑。为了更好地理解这一点,您可能需要阅读