Home

Awesome

Backbone.Immutable

Creating Backbone models with immutable attributes

Backbone.Immutable is a Backbone plugin that helps you create models with immutable attributes. I find it very useful to use this for settings and in general, data that I don't want anybody to get their hands on.

How to use BackboneImmutable

In order to use Backbone.Immutable, you need to have Backbone and Underscore included in your project.

bower install backbone.immutable

or download it manually from here and hook it in your HTML.

<script src="/path/to/backbone.immutable.js" type="text/javascript"></script>

Then you can instantiate the model, as following:

var model = new Backbone.Immutable(
  username: 'Coyote';
});

API reference

set - arguments: [ key, value ] {String, Number, Array or whatever you want, really}

Set a key to any value you want. You won't be able to change it, unless you refresh the page.

Example

model.set('username', 'Coyote');
model.set('username', 'Road Runner'); // logged "You're not supposed to change the values."

get - arguments: [ key ] {String}

Returns the saved value for given key

Example

model.get('username');
> "Coyote"

toJSON - arguments: ** no arguments **

Returns all attributes in a JSON dictionary

Example

model.toJSON()
> {name: "Coyote"}
model.set('email', 'example@example.com');
model.toJSON();
> {name: "Coyote", email: "example@example.com"}