如何在Ember.js应用程序中获取输入值?

Pav*_* S. 2 forms input ember.js

Ember.TextField在提交按钮后获取输入值的最佳解决方案是什么?

假设我有简单的app发送消息.我指定了一个视图,表示用户输入其消息的输入表单:

App.TextView = Ember.View.extend({
    templateName: 'text',

    submit: function(event) {
        console.log(event);
    }
});
Run Code Online (Sandbox Code Playgroud)

然后,此视图有Handlebars模板:

<script type="text/x-handlebars" data-template-name="text">
    <h1>Send the message:</h1>
    <div class="send_form">
        {{view Ember.TextField}}
        <button type="submit">Done</button>
    </div>
</script>
Run Code Online (Sandbox Code Playgroud)

基本上,我只需要一件事.当用户点击按钮时,我需要收到通知(在提交功能或我的应用程序中的任何其他位置),我需要从中获取值TextField.我怎样才能做到这一点?

sly*_*7_7 9

例如,您可以将文本字段的值绑定到视图中的消息属性.

也许还有其他解决方案,但我认为这很简单:http://jsfiddle.net/Sly7/vfaF3/

<script type="text/x-handlebars">
  {{view App.TextView}}
</script>

<script type="text/x-handlebars" data-template-name="text">
  <h1>Send the message:</h1>
  <div class="send_form">
    {{view Ember.TextField value=view.message}}
    <button type="submit" {{action "submit" target=view}}>Done</button>
  </div>
</script>?
Run Code Online (Sandbox Code Playgroud)
App = Ember.Application.create({});

App.TextView = Ember.View.extend({
  templateName: 'text',
  message: '',

  actions: {
    submit: function(event) {
      console.log(this.get('message'));
    }
  }
});
Run Code Online (Sandbox Code Playgroud)