How To Define Model Properties
How to define properties directly on Backbone models.
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"></script>
JavaScript
var MyModel = Backbone.Model.extend({
defaults: {
attr1: 'val1',
attr2: 'val2',
attr3: 'val3'
},
initialize: function() {
_( this.attributes )
.keys()
.each( function( i ) {
Object.defineProperty( this, i, {
get: _.partial( this.get, i )
});
}, this );
}
});
var model = new MyModel();
console.log(model.attr1);