2014-12-10 4 views
0

Как я могу получить элемент из действия в текстовой области с помощью Ember.js?Получить элемент из действия в контроллере 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}} 

ответ

1

Вы не можете получить элемент из контроллера, поскольку он не имеет каких-либо ссылок на шаблон. Вместо этого вам нужно будет обернуть текстовое поле в пользовательский компонент и привязать его к событию нажатия клавиши.

В этом примере используется экспорт модулей ES6, поскольку теперь это стандарт с ember-cli.

приложения/компоненты/Вырасти 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'}} 
+0

Thx за подсказку. После поиска я нашел это решение http://jsbin.com/yaxujizorexo – ThreeFingerMark

Смежные вопросы