Ich bin mir sehr wohl bewusst, dass dies möglich ist, und habe mir einige Stellen angesehen (einschließlich: Best Practice zum Speichern einer gesamten Sammlung? ). Aber mir ist immer noch nicht klar, "genau wie" es in Code geschrieben ist? (Der Beitrag erklärt es auf Englisch. Es wäre toll, eine Javascript-spezifische Erklärung zu haben :)
Angenommen, ich habe eine Sammlung von Modellen - die Modelle selbst haben möglicherweise verschachtelte Sammlungen. Ich habe die toJSON () -Methode der übergeordneten Auflistung überschrieben und erhalte ein gültiges JSON-Objekt. Ich möchte die gesamte Sammlung (entsprechendes JSON) "speichern", aber das Backbone scheint nicht mit dieser Funktionalität ausgestattet zu sein.
var MyCollection = Backbone.Collection.extend({
model:MyModel,
//something to save?
save: function() {
//what to write here?
}
});
Ich weiß, irgendwo muss man sagen:
Backbone.sync = function(method, model, options){
/*
* What goes in here?? If at all anything needs to be done?
* Where to declare this in the program? And how is it called?
*/
}
Sobald die 'Ansicht' mit der Verarbeitung fertig ist, ist sie dafür verantwortlich, dass die Sammlung sich selbst auf dem Server "speichern" soll (in der Lage ist, eine Massenaktualisierungs- / Erstellungsanforderung zu verarbeiten).
Fragen, die sich stellen:
- Wie / was soll man in Code schreiben, um "alles miteinander zu verbinden"?
- Was ist der "richtige" Ort für die Rückrufe und wie kann ein "Erfolg / Fehler" -Rückruf angegeben werden? Ich meine syntaktisch? Ich bin mir nicht sicher, wie man Rückrufe im Backbone registriert ...
Wenn es tatsächlich ein kniffliger Job ist, können wir jQuery.ajax in einer Ansicht aufrufen und das this.successMethododer übergebenthis.errorMethod als Erfolgs- / Fehlerrückrufe übergeben? Wird es funktionieren?
Ich muss mich mit der Denkweise von Backbone synchronisieren - ich weiß, dass mir definitiv etwas fehlt, das ganze Sammlungen synchronisiert.