Взгляните на этот пример с аннотированным источником, где они перезаписывают Backbone.sync
альтернативой localalstorage
магистральная-LocalStorage
По сути, Backbone.sync должна быть функцией, которая принимает 4 аргумента:
Backbone.sync = function(method, model, options) { };
Вы должны стрелять options.success
или в options.error
зависимости от того, method
удалось ли . Методы в формате:
"create"
: ожидается, что вы создадите модель на сервере
"read"
: ожидается, что вы прочитаете эту модель с сервера и вернете ее
"update"
: ожидается, что вы обновите модель на сервере с аргументом
"delete"
: ожидается, что вы удалите модель с сервера.
Вам нужно реализовать эти 4 метода и определить, что вы хотите для вашего "server"
Конечно, это только то, что Backbone.sync
нужно реализовать. Вы можете реализовать больше, methods
и вы можете передать больше параметров, success
но лучше этого не делать.
Лучше убедиться, что он делает то же самое, что Backbone.sync
и в настоящее время, так что ваше программирование для интерфейса, а не для реализации. Если вы хотите заменить свой модифицированный, Backbone.sync
скажем, localStorage, вам не нужно расширять его самостоятельно, чтобы он соответствовал вашему расширенному Backbone.sync "
[Редактировать]
Также обратите внимание, что вы можете использовать несколько реализаций sync
. Каждое упоминание Backbone.sync
является (this.sync || Backbone.sync)
действительным, так что вам просто нужно сделать что-то вроде:
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.sync
это просто глобальная по умолчанию, которую используют все модели, если только в моделях не установлен sync
специально определенный метод.