Я прекрасно понимаю, что это можно сделать, и я просмотрел довольно много мест (включая: Лучшая практика для сохранения всей коллекции? ). Но я все еще не ясно, «как именно» это написано в коде? (сообщение объясняет это на английском языке. Было бы здорово получить объяснение, специфичное для javascript :)
Скажем, у меня есть коллекция моделей - сами модели могли быть вложенными коллекций. Я переопределил метод toJSON () родительской коллекции и получаю действительный объект JSON. Я хочу «сохранить» всю коллекцию (соответствующий JSON), но, похоже, магистраль не встроена в эту
var MyCollection = Backbone.Collection.extend({
model:MyModel,
//something to save?
save: function() {
//what to write here?
}
});
Я знаю, что где-то вы должны сказать:
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?
*/
}
Как только «представление» завершено с обработкой, оно отвечает за указание коллекции «сохранить» себя на сервере (способной обрабатывать массовое обновление / создание request).
Возникающие вопросы:
Если это действительно сложная задача, то можем ли мы вызвать jQuery.ajax в представлении и передать this.successMethod
или this.errorMethod
как обратные вызовы успеха / ошибки ?? Будет ли это работать?
Мне нужно синхронизироваться с мышлением магистрали - я знаю, что мне определенно не хватает чего-то w.r.t., синхронизации целых коллекций.