node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

backbone-deepextend

backbone-deepextend

A Backbone extend implementation that merges properties rather than overrides". Useful for inheritting defaults and other attributes which are objects on a model.

Travis build status Code Climate Test Coverage Dependency Status devDependency Status

This module should be imported before any models that need this functionality are derived as <Class>.extend is written on all objects on creation time.

require('backbone-deepextend');
 
var Model = Backbone.Model.extend({
    defaults: {
        a: 1
    }
}).extend({
    defaults: {
        b: 2
    }
})
 
var model = new Model;
model.get('a') // => 1 
model.get('b') // => 2