Als Add-on zu Cyril N. Antwort (die im Wesentlichen das Standardverhalten beschreibt, und sollte genug sein, glaube ich), ich möchte mehr gründlich die Rolle der drei Fahnen erklären:
add
: ob oder nicht Backbone sollte die Sammlung erstellen und fügen Sie die Modelle, die noch nicht existieren (dh deren ID nicht in der Sammlung)
remove
: ob oder nicht Backbone aus der Sammlung entfernen sollte die Modelle, die nicht vom Server zurückgebracht wurden (dh deren ID nicht die zurückgegebenen Daten waren)
merge
: ob oder nicht Backbone sollte die Modelle aktualisieren, die nicht in den ersten beiden Kategorien sind (bereits in der Sammlung, und vom Server geholt)
Allerdings Ich mag ein bisschen weiter über die allgemeinen erweitern Verhalten der Methode (es verwendet die Collection#set
Methode als Callback, so ist es mehr das Verhalten der Collection#set
). Backbone bereitet die Modelle vor, was bedeutet, dass am Anfang der Methode gefälschte, flüchtige Modelle erstellt werden (sie sind nur flüchtig, wenn sie nicht hinzugefügt werden). Dies kann zu unerwartetem Verhalten führen: Da es Modelle erstellt, wird die Initialisierungsmethode ausgeführt.
Auch als Randnotiz seit Backbone 1.0, das Collection#reset
Flag wurde eingeführt, wenn Sie Ihre Sammlung beim Abrufen zurücksetzen möchten (daher wird diese Methode als Rückruf verwendet). Vorher war es das Standardverhalten der Collection#fetch
-Methode.
Nun, mit beiden Antworten sollten Sie alle Informationen haben, die Sie benötigen, denke ich.