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?
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?
Share Improve this question edited Sep 18, 2012 at 7:15 Drejc asked May 3, 2012 at 7:38 DrejcDrejc 14.3k16 gold badges75 silver badges108 bronze badges1 Answer
Reset to default 33This 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);
}
}