Eche un vistazo a este ejemplo de fuente anotada donde se sobrescribe Backbone.sync
con una alternativa de almacenamiento local
backbone-localStorage
Básicamente, Backbone.sync debería ser una función que tome 4 argumentos:
Backbone.sync = function(method, model, options) { };
Necesitas disparar options.success
o options.error
dependiendo de si method
tuvo éxito. Los métodos están en el formato:
"create"
: esperaba que creara el modelo en el servidor
"read"
: esperaba que leyeras este modelo desde el servidor y lo devolvieras
"update"
: esperaba que actualizara el modelo en el servidor con el argumento
"delete"
: espera que elimine el modelo del servidor.
Necesita implementar esos 4 métodos y definir lo que quiera para su "server"
Por supuesto, estas son solo las cosas que Backbone.sync
deben implementar. Puede implementar más methods
y puede pasar más parámetros a, success
pero es mejor no hacerlo.
Es mejor asegurarse de que haga lo mismo que Backbone.sync
hace actualmente para que su programación a una interfaz en lugar de una implementación. Si desea cambiar su modificado Backbone.sync
para decir el localStorage, no tendrá que extenderlo usted mismo para que coincida con su Backbone.sync extendido "
[Editar]
También tenga en cuenta que puede usar múltiples implementaciones de sync
. Cada referencia a Backbone.sync
es actaully, (this.sync || Backbone.sync)
así que solo tienes que hacer algo como:
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.sync
es solo el predeterminado global que usan todos los modelos a menos que los modelos tengan un sync
método establecido específicamente.