Ответ 1
О значении документа, который вы указали:
Когда вы делали (я думаю, что this.model
была ошибкой) this.set({attr: value}, {silent: true})
, все события изменения были только delayed до следующего не-молчащего изменения. То есть, если вы делали this.trigger('change')
(начиная с последних версий jQuery/Backbone, this.change()
больше не работает) или this.set('anotherAttr', anotherValue)
, событие change:attr
было бы запущено.
По сравнению с Backbone 1.0 это поведение изменилось. Когда вы используете флаг silent, вы не откладываете событие change:attr
больше, вы полностью закрываете.
Итак, в основном, чтобы проиллюстрировать фрагмент кода:
myModel.listenTo(myModel, 'change:attr', function() {alert();});
myModel.set('attr', true, {silent: true});
myModel.trigger('change');
// or myModel.set('anotherAttr', true);
сделает предупреждение в Backbone до 1.0, но не в Backbone 1.0.