Skip to content

Instantly share code, notes, and snippets.

@wesen
Created August 21, 2011 10:38
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save wesen/1160451 to your computer and use it in GitHub Desktop.
Save wesen/1160451 to your computer and use it in GitHub Desktop.
Merge backbone views (mixin pattern)
/**
* ## Merging mixin views in backbone.js ##
*
* really just more a test for tumblr gistr
*/
/**
* Merge the mixin (a Backbone.View) into another Backbone.View. Automatically merge events, defaults, and call the parent initializer.
**/
function mergeMixin(view, mixin) {
_.defaults(view.prototype, mixin);
_.defaults(view.prototype.events, mixin.events);
if (mixin.initialize !== undefined) {
var oldInitialize = view.prototype.initialize;
view.prototype.initialize = function () { mixin.initialize.apply(this); oldInitialize.apply(this); };
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment