Dans mon application, je remplace Backbone.Sync comme suit: Ma question est, comment puis-je appeler la méthode de synchronisation originale? Dois-je utiliser cela.sync à la place? P> p>
4 Réponses :
Essayez quelque chose comme ça, pourrait ne pas être les meilleures solutions, mais cela fonctionne: espère qu'il aide d'une manière ou d'une autre p> p>
backbone.prototype.sync.call code> ne fonctionnera pas car
Sync code> n'est pas défini sur le prototype. Inspectez l'objet code> Backbone code> dans la console pour voir sa structure. Vous voudrez nommer votre propre méthode autre chose ou enregistrer une référence à la méthode d'origine
Sync code> avant de le remplacer par votre propre implémentation. P>
De ce que je comprends, Backbone.Sync vérifie pour voir s'il existe une version définie localement de la synchronisation et des appels qui avant d'appeler le Backbone global.Sync: donc, étant donné que votre Le modèle est quelque chose comme testmodel. Je pense que vous pouvez faire quelque chose comme ceci (pardonnez-moi que cela pourrait ne pas être la syntaxe correcte, JavaScript est loin de ma spécialité): p> C'est ce que j'ai rassemblé de
J'ai déjà utilisé cette approche et a constaté que cela fonctionne bien, surtout si vous avez besoin d'une synchronisation spécifique à un modèle. Modification directe (comme indiqué dans une autre réponse) affectera tous les modèles, ce qui pourrait ne pas être ce dont vous avez besoin.
var TestModel = Backbone.Model.extend({ sync: function(method, model, options){ // some code here return Backbone.sync(method, model, options); } });