我正在使用EmberJS,我希望当用户在搜索栏中键入键时,会将操作发送到我的组件。我已经读过(http://emberjs.com/api/classes/Ember.TextSupport.html#property_onEvent),我应该在输入中放入onEvent =“ keyPress”,但它不起作用。当前,如果我键入一些文本,则不会调用search()方法,而是按Enter键。

这是我的模板:

<div id="command-manager">
    {{input type="search" action="search" onEvent="keyPress" placeholder="Enter a command here" maxlength="32"}}
</div>


这是我的组件:

var CommandManagerComponent = Ember.Component.extend({

  actions:{
    search:function() {

      console.log('search');

    }
  }
});


如您所见,这非常简单,我不知道我做错了什么。

最佳答案

http://emberjs.com/guides/components/sending-actions-from-components-to-your-application/


  通常,您应该将组件操作视为翻译
  基本事件(如鼠标单击或元素的暂停
  事件)转化为在您的应用中具有语义含义的操作。


否则,请使用视图进行UI转换/效果。

现在,要对组件使用操作,您需要使用sendAction()

示例:http://emberjs.jsbin.com/wofom/1/edit

关于javascript - EmberJs输入onkeypress事件未发送到组件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24369868/

10-12 19:53