JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://github.com/afeld/backbone-nested/raw/master/backbone-nested.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
JavaScript
var model = new Backbone.NestedModel();
var events = [];
model.on('all', function(event) { events.push(event); });
model.set('test', true);
console.log('test');
console.log('2 events', events.length === 2);
console.log('change:test', _.indexOf(events, 'change:test') !== -1);
console.log('change', _.indexOf(events, 'change') !== -1);
console.log('');
events.length = 0;
model.set('silenttest', true, {silent: true});
model.change();
console.log('silent test');
console.log('2 events', events.length === 2);
console.log('change:silenttest', _.indexOf(events, 'change:silenttest') !== -1);
console.log('change', _.indexOf(events, 'change') !== -1);
console.log('');
events.length = 0;
model.set('nested.test', true);
console.log('nested test');
console.log('3 events', events.length === 3);
console.log('change:nested', _.indexOf(events, 'change:nested') !== -1);
console.log('change', _.indexOf(events, 'change') !== -1);
console.log('change:nested.test', _.indexOf(events, 'change:nested.test') !== -1);
console.log('');
events.length = 0;
model.set('nested.silenttest', true, {silent: true});
model.change();
console.log('nested silent test');
console.log('3 events', events.length === 3);
console.log('change:nested', _.indexOf(events, 'change:nested') !== -1);
console.log('change', _.indexOf(events, 'change') !== -1);
console.log('change:nested.silenttest', _.indexOf(events, 'change:nested.silenttest') !== -1);
console.log('');