2011-10-01 8 views
9

Il pattern comune in Backbone/Spine è di re-rendering dell'intera vista da zero quando succede qualcosa.Come aggiornare una piccola porzione di visualizzazione in Backbone o Spine

Ma cosa si fa se è necessario aggiornare solo una piccola parte di esso (evidenziare, selezionare, disattivare, animare ecc.)?

Non ha alcun senso eseguire nuovamente il rendering in quanto potrebbe rovinare il layout corrente (se la pagina è stata spostata fino a un certo punto, ad esempio).

D'altra parte se si aggiorna piccole parti "in linea" dal View usando qualcosa come $('.selected').highlight(), allora si dovrebbe duplicare la stessa logica nella vista modello e il codice JavaScript.

Quindi qual è la "migliore pratica" in Backbone/Spine per farlo?

+1

Il modo migliore è creare una piccola vista "parziale" e aggiornarla quando è necessario un aggiornamento. Potresti anche avere una vista con un semplice campo di input e aggiornarlo quando cambia ... Può esserci un approccio migliore, ma sto usando questo nel progetto corrente senza problemi. Un problema è che in questo caso ci sono molti punti di vista, ma in ogni caso è meglio avere un sacco di codice spaghetti ... in realtà la dorsale non è altro che un buon strumento per il codice dell'organizzazione. –

risposta

Problemi correlati