2012-05-03 17 views
22

Vorrei sovrascrivere il metodo fetch() predefinito in un modello Backbone, chiamandolo quindi solo quando necessario.Sovrascrittura del metodo fetch() nel modello di dorsale

Qualcosa di simile a questo:

Account.Check = Backbone.Model.extend({ 
    model : Account.Item, 

    url : Settings.Url.checkAccount, 

    fetch : function(options) {   
       if (someCondition()) { 
        // do some stuff 
      } else { 
       super.fetch(options); 
       } 
    } 
}); 

la mia domanda è come fornire lo stesso comportamento come predefinito recuperare il metodo() nella // fare alcune altre cose parte?

risposta

34

Questo dovrebbe farlo ...

fetch : function(options) {   
      if (someCondition()) { 
       // do some stuff 
      } else { 
       this.constructor.__super__.fetch.apply(this, arguments); 
       // Or (less flexible) 
       Backbone.Model.prototype.fetch.apply(this, arguments);  
      } 
     } 
Problemi correlati