Dai un'occhiata a questo esempio di sorgente con annotazioni in cui sovrascrivono Backbone.sync
con un'alternativa di archivio locale
backbone-localStorage
Fondamentalmente Backbone.sync dovrebbe essere una funzione che accetta 4 argomenti:
Backbone.sync = function(method, model, options) { };
Devi sparare options.success
o a options.error
seconda che ci sia method
riuscito. I metodi sono nel formato:
"create"
: previsto che si crei il modello sul server
"read"
: previsto di leggere questo modello dal server e restituirlo
"update"
: previsto che si aggiorni il modello sul server con l'argomento
"delete"
: previsto che si elimina il modello dal server.
Devi implementare quei 4 metodi e definire quello che vuoi per il tuo "server"
Naturalmente queste sono solo le cose che Backbone.sync
devono essere implementate. Puoi implementare di più methods
e puoi restituire più parametri, success
ma è meglio non farlo.
È meglio assicurarsi che faccia lo stesso come Backbone.sync
attualmente in modo che la programmazione su un'interfaccia piuttosto che un'implementazione. Se vuoi cambiare il tuo modificato Backbone.sync
per dire quello localStorage non dovrai estenderlo tu stesso per abbinare il tuo Backbone.sync esteso "
[Modificare]
Si noti inoltre che è possibile utilizzare più implementazioni di sync
. Ogni riferimento a Backbone.sync
è assolutamente, (this.sync || Backbone.sync)
quindi devi solo fare qualcosa del tipo:
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.sync
è solo quello globale predefinito che tutti i modelli usano a meno che i modelli non abbiano un sync
metodo specificamente impostato.