我开始玩 ember,但我无法理解的一件事是如何使用单向绑定,请考虑以下代码:
HTML
<script type="text/x-handlebars">
<h1>Some App</h1>
<p>
My Name is: {{name}}
</p>
<form {{action 'updateName' on="submit"}}>
{{view Ember.TextField valueBinding="name"}}
<input type="submit" value="Save">
</form>
</script>
JS
var App = Ember.Application.create();
App.ApplicationRoute = Ember.Route.extend({
model: function() {
return {
name: 'John Doe'
}
},
events: {
updateName: function() {
console.log('Name Updated!');
}
}
});
默认情况下,Ember.TextField
' 值将绑定到我的模型,反之亦然,这意味着当我在文本上键入时,模型和视图将实时更新,但是我要做的是将模型绑定到文本字段(所以将显示初始名称)但仅在提交表单时更新模型。有没有简单的方法来做到这一点?
提前致谢。
编辑:仅供参考,我更新了我的小提琴以使用Ember.Binding.oneWay
我认为最终结果比@c4p 答案更干净:http: //jsfiddle.net/X2LmC/3/但是我不确定是否$('#user-name').val()
要获取字段值是正确的方法。