Jetez un œil à cet exemple de source annoté où ils Backbone.sync
écrasent avec une alternative de stockage local
backbone-localStorage
Fondamentalement, Backbone.sync doit être une fonction qui prend 4 arguments:
Backbone.sync = function(method, model, options) { };
Vous devez tirer l'un options.success
ou l' autre ou options.error
selon que le a method
réussi. Les méthodes sont au format:
"create"
: prévu que vous créez le modèle sur le serveur
"read"
: vous attendiez à lire ce modèle sur le serveur et à le renvoyer
"update"
: s'attend à ce que vous mettiez à jour le modèle sur le serveur avec l'argument
"delete"
: s'attend à ce que vous supprimiez le modèle du serveur.
Vous devez implémenter ces 4 méthodes et définir ce que vous voulez pour votre "server"
Bien sûr, ce ne sont que les choses qui Backbone.sync
doivent être mises en œuvre. Vous pouvez en implémenter plus methods
et vous pouvez renvoyer plus de paramètres, success
mais il vaut mieux ne pas le faire.
Il est préférable de vous assurer qu'il fait la même chose que le Backbone.sync
fait actuellement afin que votre programmation soit vers une interface plutôt qu'une implémentation. Si vous souhaitez remplacer votre modification par, Backbone.sync
par exemple, localStorage, vous n'aurez pas à l'étendre vous-même pour qu'elle corresponde à votre Backbone.sync étendu "
[Éditer]
Notez également que vous pouvez utiliser plusieurs implémentations de sync
. Chaque référence à Backbone.sync
est réellement (this.sync || Backbone.sync)
donc il vous suffit de faire quelque chose comme:
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.sync
est simplement la sync
méthode globale par défaut que tous les modèles utilisent à moins que les modèles n'aient une méthode spécifiquement définie.