Sto creando un modulo Web per la modifica di alcuni oggetti. Chiamerò questi oggetti Foos.
Ho un modello Backbone che rappresenta Foos. Ho una vista Backbone che esegue il rendering di un modulo di editor, compilando i campi in base allo stato del modello Foo fornito.
Il mio obiettivo è mantenere il modello di Foo sincronizzato con i campi del modulo.
Idea 1: potrei collegare onkeyup
o onchange
listener su tutte le caselle di input. Ogni volta che l'utente cambia un campo, il modello verrà immediatamente aggiornato.
Tuttavia, aggiungere manualmente un listener di eventi a ciascuna casella di input sembra eccessivo.
Idea 2: potrei aggiungere un metodo updateModel
alla mia vista. Chiamare questo metodo dovrebbe ispezionare i campi del modulo e aggiornare il modello.
Il problema con questo è che se ti dimentichi di chiamare updateModel
, lavorerai con un modello obsoleto.
Quali sono le migliori pratiche per sincronizzare un modello Backbone con la sua vista modificabile dall'utente?