Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A convenient super method for the popular JavaScript library, Backbone.js.
JavaScript
branch: master

Merge pull request #42 from rachel-carvalho/master

[documentation] added commonjs/browserify example (#34)
latest commit a744ef836f
@lukasolson authored

README.md

Build Status

Backbone-Super

This Backbone.js plugin provides a convenient super method.

Usually, when you're using Backbone.js, you have to do some funky (well, not funky... Javascript-y) stuff to be able to access parent methods.

From the Backbone.js documentation:

Brief aside on super: JavaScript does not provide a simple way to call super — the function of the same name defined higher on the prototype chain. If you override a core function like set, or save, and you want to invoke the parent object's implementation, you'll have to explicitly call it, along these lines:

var Note = Backbone.Model.extend({
    set: function(attributes, options) {
        Backbone.Model.prototype.set.call(this, attributes, options);
        ...
    }
});

After including this plugin, you can do the same thing with the following syntax:

var Note = Backbone.Model.extend({
    set: function(attributes, options) {
        this._super(attributes, options);
        ...
    }
});

To use it, simply include it after you include Backbone.js:

<script type="text/javascript" src="backbone.js"></script>
<script type="text/javascript" src="backbone-super.js"></script>

To use it with Browserify:

var Backbone = require('backbone'),
    Note;

Backbone.$ = require('jquery');
Backbone._ = require('underscore');
require('backbone-super');

Note = Backbone.Model.extend({
    set: function(attributes, options) {
        this._super(attributes, options);
        ...
    }
});

module.exports = Note;

License: MIT

Something went wrong with that request. Please try again.