Backbone.Mutators
Backbone.Mutators copied to clipboard
Setting hashes with Mutators breaks Backbone atomicity
Consider model.set({key1: val1, key2: val2});
In traditional Backbone, this will set both keys to their respective values and then fire change:key1
and change:key2
events. In other words, Backbone guarantees the atomicity of set calls with hashes. Mutators breaks this contract by firing each change event after it's value is set. So Mutators would set key1 to val1, then fire the change:key1
event, then set key2 to val2, then fire the change:key2
event.
I believe this is because of the way that calls to oldSet
works in the Mutators source.
@dsaffy I do not really have the time to support this project anymore, if you can get in a PR, I would be happy to merge it & to release a new version, thought.