Come un add-on per la risposta di Cyril N. (che descrive essenzialmente il comportamento predefinito, e dovrebbe essere abbastanza immagino), mi piacerebbe spiegare più a fondo il ruolo dei 3 bandiere:
add
: se Backbone dovrebbe creare e aggiungere alla collezione i modelli che non esistono ancora (per esempio, il cui id non sono nella collezione)
remove
: se Backbone dovrebbe rimuovere dalla collezione modelli che non sono stati portati dal server (ad esempio, il cui id sono stati non è il portato di nuovo i dati)
merge
: se Backbone dovrebbe aggiornare i modelli che non sono nelle prime due categorie (già della collezione, e riportato dal server)
Tuttavia, mi piace per espandere un po 'più sul generale comportamento del metodo (utilizza il metodo Collection#set
come callback, quindi è più il comportamento di Collection#set
). Backbone prepara i modelli, il che significa che crea falsi modelli, volatili all'inizio del metodo (sono volatili solo se non sono aggiunti). Questo può portare a comportamenti imprevisti: poiché crea modelli, il metodo di inizializzazione di quelli viene eseguito.
Inoltre, come nota a margine, poiché Backbone 1.0, il flag Collection#reset
è stato introdotto se si desidera ripristinare la raccolta durante il recupero (quindi utilizza questo metodo come callback). Prima di ciò, era il comportamento predefinito del metodo Collection#fetch
.
Bene, con entrambe le risposte dovresti avere tutte le informazioni che ti servono immagino.