22

I would like to override the default fetch() method in a Backbone model, thus calling it only when needed.

Something like this:

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

    url : Settings.Url.checkAccount,

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

My question is how to provide the same behaviour as the default fetch() method in the // do some other stuff part?

Drejc
  • 14,196
  • 16
  • 71
  • 106

1 Answers1

33

This should do it...

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);    
           }
         }
alex
  • 479,566
  • 201
  • 878
  • 984