Knockout non aggiorna gli osservabili quando si fa clic su un pulsante di reimpostazione modulo.tipo di input = reset e knockout
HTML:
<form>
<input type="text" data-bind="value: test" />
<input type="reset" value="reset" />
</form>
<p data-bind="text: test"></p>
JS:
function ViewModel() {
this.test = ko.observable("");
}
ko.applyBindings(new ViewModel());
Chiaramente l'evento di modifica della casella di input non è di essere licenziato, come si è visto con questo test jQuery: http://jsfiddle.net/LK8sM/4/
Come andremmo a forzare tutti gli osservabili vincolati a formare gli input da aggiornare senza doverli specificare manualmente se il pulsante di reset non sta sparando degli eventi di cambiamento?
Sarebbe abbastanza facile usare jQuery per trovare tutti gli input all'interno del modulo e attivare gli eventi di cambiamento, ma si supponga di avere una forma controllata solo a eliminazione diretta.
Sei contrario all'implementazione del ripristino come metodo viewmodel? Come si fa notare, questo sembra essere un problema più grande relativo al "reset's che non attiva la modifica, che potrebbe essere un problema significativo. – Tyrsius
Se un metodo nel viewmodel può ripristinare tutti gli osservabili senza doverli elencare manualmente, funzionerebbe. Ma vorrei davvero resettare solo gli osservabili legati agli input. – Fergal