私は燃えさしで遊ぶために始めているが、私は周りに私の頭をラップすることができていない一つのことは、一方向のバインディングを使用する方法で、次のコードを考えてみます。emberjsで一方向バインディングを使用するにはどうすればよいですか?
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
の値は私のモデルにバインドされます。つまり、テキストを入力するとモデルとビューはライブで更新されますが、私がしようとしているのはモデルをテキストフィールドにバインドすることです(初期名が表示されます)、フォームが送信されたときにのみモデルを更新します。それを行う簡単な方法はありますか?
ありがとうございます。
EDIT:ちょうど参考のために、私はEmber.Binding.oneWay
を使用するために私のバイオリンを更新し、私は最終的な結果は、C4Pの答え@よりもきれいだと思う:私はフィールドの値を取得するために$('#user-name').val()
を行うことに正しい方法であるかどうかわからないんだけどしかしhttp://jsfiddle.net/X2LmC/3/それをやる。
これは、HTTP探しているものかもしれないです:/ /emberjs.com/api/classes/Ember.Binding.html? – intuitivepixel
確かに、私はそれを実装する方法がわからないので、私の質問 – javiervd
編集のためのちょっと男感謝。観察可能な変数を使用しない解決策は私が探していたものです:) - あなた自身の質問に答える必要があります。 – oneiota