如何在ember应用程序中获取控制器中模板复选框的值

时间:2013-12-18 21:00:45

标签: ember.js

我试图找出是否在控制器中选中了复选框。

这是我的模板:

<script type="text/x-handlebars">
  {{view Ember.TextField valueBinding="firstname" placeholder="First Name"}}
  <input type="checkbox" name="remember_me"> Remember me </input>
  <button {{action save }}>Save</button>
</script>

这是我的控制器:

App = Ember.Application.create();
App.ApplicationController = Ember.Controller.extend({
    save: function(){
//need to get the value of "remember_me" here
      alert(this.get("firstname"));
    }
});

如何在控制器中获取“remember_me”的值(无论是否选中)。我可以在复选框上执行valueBinding。如果是的话,请你给我一个示例语法。

的jsfiddle:

http://jsfiddle.net/Rtd4d/

1 个答案:

答案 0 :(得分:8)

你应该使用ember提供的input助手(参见docs)。

{{input type="checkbox" checked=remember_me}}

要获取在控制器上设置的模型,请使用this.get('model')

因此,要从模型中获取remember_me属性,只需

this.get('model').get('remember_me')

假设remember_me是布尔属性,则应返回truefalse

请参阅jsbin


修改

我没有意识到默认情况下控制器会委托给它的模型,所以

this.get('remember_me')

应该有用。