Dê uma olhada neste exemplo de fonte anotado em que eles substituem Backbone.sync
por uma alternativa de armazenamento local
backbone-localStorage
Basicamente, o Backbone.sync deve ser uma função que recebe 4 argumentos:
Backbone.sync = function(method, model, options) { };
Você precisa disparar um options.success
ou options.error
dependendo do method
êxito. Os métodos estão no formato:
"create"
: esperado que você crie o modelo no servidor
"read"
: esperado que você leia este modelo no servidor e o devolva
"update"
: esperado que você atualize o modelo no servidor com o argumento
"delete"
: esperado que você exclua o modelo do servidor.
Você precisa implementar esses 4 métodos e definir o que quiser para o seu "server"
Claro que estas são apenas as coisas que Backbone.sync
devem ser implementadas. Você pode implementar mais methods
e transmitir mais paramaters, success
mas é melhor não fazer isso.
É melhor garantir que ele faça o mesmo Backbone.sync
que atualmente, para que sua programação para uma interface e não para uma implementação. Se você quiser mudar o seu modificado Backbone.sync
para, por exemplo, o localStorage, você não precisará estendê-lo por conta própria para corresponder ao seu Backbone.sync estendido "
[Editar]
Observe também que você pode usar várias implementações de sync
. Todas as referências a Backbone.sync
são verdadeiras, (this.sync || Backbone.sync)
então você só precisa fazer algo como:
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.sync
é apenas o padrão global usado por todos os modelos, a menos que os modelos tenham um sync
método definido especificamente.