Skip to content

Instantly share code, notes, and snippets.

@alassek
Created September 19, 2011 22:19
Show Gist options
  • Save alassek/1227770 to your computer and use it in GitHub Desktop.
Save alassek/1227770 to your computer and use it in GitHub Desktop.
Easy multiple-inheritance in Backbone.js
(function () {
function extendEach () {
var args = Array.prototype.slice.call(arguments),
child = this;
_.each(args, function (proto) {
child = child.extend(proto);
});
return child;
}
Backbone.Model.extendEach =
Backbone.Collection.extendEach =
Backbone.Router.extendEach =
Backbone.View.extendEach = extendEach;
})();
@hughes
Copy link

hughes commented Feb 21, 2013

Clever little script. If I'm not mistaken, you'd use it like ClassC = Backbone.Model.extendEach(ClassA, ClassB, [properties])

@sroze
Copy link

sroze commented Jun 11, 2013

Nop, use like that (see the .prototype):

var MyModel = Backbone.Model.extendEach(Another.Model.prototype, ..., [properties])

@robinduckett
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment