2014-05-10 7 views
4

Existe-t-il un moyen de demander à Backbone.Model d'aller chercher silencieusement? l'option {silent: true} ne fonctionne pas pour l'extraction de modèle. Fondamentalement, je voulais faire taire l'événement de synchronisation qui est déjà écouté par la vue actuelle.Backbone.Model silent "fetch"

ListenTo:

self.listenTo(self.model, 'sync', self.subscriberParameterSyncSuccesfully); 

Fetch:

self.model.fetch({ 
    success: function() { 
     self.bindEventsToModel(); 
     self.renderDetailsBody(false); 
    }, 
    error: self.handleRouteError 
}, {silent: true}); 

Répondre

3

Non, vous ne pouvez pas. Le backbone déclenche toujours l'événement "sync" dans une réponse de succès. Ce que vous pouvez faire est de faire un wrapper et de déclencher un autre événement. donc vous évitez de dépendre de l'événement de synchronisation.

self.listenTo(self.model, 'mysync', self.subscriberParameterSyncSuccesfully); 

Modèle:

myfetch: function (option) { 
    this.fetch.call(this, option); 
    this.trigger('mysync', this); 
} 

self.model.myfetch(option);