Ich fange mit Ember zu spielen, um aber eine Sache, die ich nicht in der Lage, meinen Kopf um zu wickeln ist, wie Einweg-Bindungen verwenden, sollten Sie den folgenden Code:Wie man eine Einwegbindung auf emberjs verwendet?
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!');
}
}
});
Standardmäßig wird der Wert von Ember.TextField
an mein Modell gebunden und umgekehrt, was bedeutet, dass wenn ich den Text eintippe, das Modell und die Ansicht live aktualisiert werden, was ich versuche, das Modell an das Textfeld zu binden (Der ursprüngliche Name wird angezeigt.) Aktualisieren Sie das Modell jedoch nur, wenn das Formular gesendet wird. Gibt es einen einfachen Weg, es zu tun?
Vielen Dank im Voraus.
EDIT: Gerade als Referenz ich meine Geige aktualisiert Ember.Binding.oneWay
zu verwenden, ich denke, das Ergebnis ist sauberer als @ beantworten C4P: http://jsfiddle.net/X2LmC/3/ aber ich bin nicht sicher, ob $('#user-name').val()
tut das Feld Wert zu erhalten ist der richtige Weg zu TU es.
ist dies vielleicht das, was Sie suchen http://emberjs.com/api/classes/Ember.Binding.html? – intuitivepixel
In der Tat habe ich jedoch keine Ahnung, wie man es umsetzt damit meine Frage – javiervd
Hey Mann Danke für den Schnitt. Eine Lösung, die keine beobachtbare Variable verwendet, ist, was ich gesucht habe :) - Sie sollten Ihre eigene Frage beantworten. – oneiota