I'm having problem saving Backbone.Model or Backbone.Collection objects to local storage. The problem is that when it saves, only the attributes gets saved and I do not want that. I'm actually using the backbone-localstorage thats provided in their sample TODO demo.
This is their save function
save: function() {
localStorage.setItem(this.name, JSON.stringify(this.data));
}
When I look at what JSON.stringify(this.data) returns, I see only the models or the collection's attributes gets sets. Is there a way to specify that I want to save the whole state the model and collection is in, not just the attributes?
Override the Model.toJSON or Collection.toJSON to return the data you want serialized.
The default Model.toJSON just returns the attributes:
toJSON : function() {
return _.clone(this.attributes);
}
the Collection's toJSON utilizes the Model's toJSON:
toJSON : function() {
return this.map(function(model){ return model.toJSON(); });
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With