Schauen Sie sich dieses mit Anmerkungen versehene Quellbeispiel an, in dem sie Backbone.sync
mit einer lokalen Speicheralternative überschrieben werden
backbone-localStorage
Grundsätzlich sollte Backbone.sync eine Funktion sein, die 4 Argumente akzeptiert:
Backbone.sync = function(method, model, options) { };
Sie müssen entweder options.success
oder options.error
je nachdem, ob der method
erfolgreich war , feuern . Die Methoden haben das folgende Format:
"create"
: erwartet, dass Sie das Modell auf dem Server erstellen
"read"
: erwartet, dass Sie dieses Modell vom Server lesen und zurückgeben
"update"
: erwartet, dass Sie das Modell auf dem Server mit dem Argument aktualisieren
"delete"
: erwartet, dass Sie das Modell vom Server löschen.
Sie müssen diese 4 Methoden implementieren und definieren, was Sie für Ihre wollen "server"
Natürlich sind dies nur die Dinge, Backbone.sync
die implementiert werden müssen . Sie können mehr implementieren methods
und mehr Parameter zurückgeben, success
aber es ist am besten, dies nicht zu tun.
Stellen Sie am besten sicher, dass es dasselbe Backbone.sync
tut wie derzeit, damit Sie auf eine Schnittstelle programmieren und nicht auf eine Implementierung. Wenn Sie Ihre Modifikation beispielsweise Backbone.sync
für die localStorage-Version austauschen möchten, müssen Sie sie nicht selbst erweitern, um sie an Ihre erweiterte Backbone.sync anzupassen. "
[Bearbeiten]
Beachten Sie auch, dass Sie mehrere Implementierungen von verwenden können sync
. Jeder Verweis auf Backbone.sync
ist wirklich, (this.sync || Backbone.sync)
also müssen Sie nur etwas tun wie:
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.sync
ist nur die globale Standardeinstellung, die von allen Modellen verwendet wird, es sei denn, für die Modelle ist eine sync
bestimmte Methode festgelegt.