Sto iniziando a giocare con brace, ma una cosa che non sono stati in grado di avvolgere la mia testa intorno è come usare attacchi a senso unico, si consideri il seguente codice:Come utilizzare l'associazione unidirezionale su 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!');
}
}
});
Per impostazione predefinita il valore di Ember.TextField
sarà associato al mio modello e viceversa il che significa che quando digito sul testo il modello e la vista saranno aggiornati dal vivo, tuttavia quello che sto cercando di fare è associare il modello al campo di testo (quindi verrà visualizzato il nome iniziale), ma aggiornare il modello solo quando il modulo viene inviato. C'è un modo semplice per farlo?
Grazie in anticipo.
EDIT: Solo per riferimento ho aggiornato il mio violino da usare Ember.Binding.oneWay
penso che il risultato finale è più pulita rispetto @ C4P rispondere: http://jsfiddle.net/X2LmC/3/ però non sono sicuro se facendo $('#user-name').val()
per ottenere il valore del campo è il modo giusto per fallo.
è questo forse quello che stai cercando per http://emberjs.com/api/classes/Ember.Binding.html? – intuitivepixel
Infatti, comunque non ho idea di come implementarlo da qui la mia domanda – javiervd
Ehi amico grazie per la modifica. Una soluzione che non utilizza una variabile osservabile è ciò che stavo cercando :) - Dovresti rispondere alla tua domanda. – oneiota