7
votes

Comment appeler la méthode de synchronisation de backbone parent

Dans mon application, je remplace Backbone.Sync comme suit: XXX

Ma question est, comment puis-je appeler la méthode de synchronisation originale? Dois-je utiliser cela.sync à la place?


0 commentaires

4 Réponses :


4
votes

Essayez quelque chose comme ça, pourrait ne pas être les meilleures solutions, mais cela fonctionne: xxx

espère qu'il aide d'une manière ou d'une autre


0 commentaires

1
votes

backbone.prototype.sync.call ne fonctionnera pas car Sync n'est pas défini sur le prototype. Inspectez l'objet Backbone 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 avant de le remplacer par votre propre implémentation.


0 commentaires

9
votes

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: xxx

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é): xxx

C'est ce que j'ai rassemblé de ici et ici


1 commentaires

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.



4
votes
var TestModel = Backbone.Model.extend({ 
    sync: function(method, model, options){  
        // some code here
        return Backbone.sync(method, model, options); 
    }
});

0 commentaires