Backbone extend model
add new function to model
by ctasims
HTML
<script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/underscore-min.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>
JavaScript
Backbone.Model.prototype.unsetAllStartsWith = function(prefix) {
var that = this;
_.each(this.attributes, function(attrVal, attrName) {
console.log('each');
if (attrName.slice(0,prefix.length) === prefix) {
that.unset(attrName);
}
})
};
var MyModel = Backbone.Model.extend({
defaults: {
'foo_first': '',
'foo_second': ''
}
});
var testModel = new MyModel();
console.log('first');
console.log(testModel.get('foo_first'));
console.log(testModel.get('foo_second'));
testModel.set({'foo_first': 'new value', 'foo_second': 'new value'});
testModel.unsetAllStartsWith('foo');
console.log(testModel.get('foo_first'));
console.log(testModel.get('foo_second'));