Dê uma olhada neste exemplo de fonte anotado em que eles substituem Backbone.syncpor 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.successou options.errordependendo 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 methodse transmitir mais paramaters, successmas é melhor não fazer isso.
É melhor garantir que ele faça o mesmo Backbone.syncque atualmente, para que sua programação para uma interface e não para uma implementação. Se você quiser mudar o seu modificado Backbone.syncpara, 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.syncsã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 syncmétodo definido especificamente.