如何使用Ember.js从文本区域中的操作获取元素?
该代码不起作用:
App.EnquiryBreakfastController = Ember.ObjectController.extend({
actions: {
grow: function(event){
console.log(this.get('element'));
}
}
});
.copy
%h2 Tell us about your breakfast?
.enquiry__grid
{{textarea key-press="grow" value=project placeholder="Water and Bread" class="enquiry--input enquiry--input--area" cols='25' rows='1'}}
.enquiry--button
{{#link-to 'enquiry.budget' class="btn"}}Next{{/link-to}}
最佳答案
您无法从控制器获取元素,因为它没有对模板的任何引用。相反,您需要将文本区域包装在自定义组件中并绑定到按键事件。
此示例使用ES6模块导出,因为这是ember-cli现在的标准。
app / components / grow-textarea.js
export default Ember.TextArea.extend({
grow: function(event) {
// Your logic here
}.on('keyPress')
});
然后在您的模板中:
{{grow-textarea value=project placeholder="Water and Bread" class="enquiry--input enquiry--input--area" cols='25' rows='1'}}