我正在使用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/