Порядок изменения модели в магистрали js - PullRequest
1 голос
/ 27 октября 2011

Гарантируется ли, что события 'change: property' всегда запускаются до событий 'change'? Вот пример:

MyModel = Backbone.Model.extend({
    property1: 'value1',
    property2: 'value2'
});

var myModel = new MyModel();
myModel.bind('change:property1', function () { alert("change pty1"); })
       .bind('change', function () { alert("change"); })
       .bind('change:property2', function () { alert("change pty2"); });

Гарантируется ли, что функция, связанная с 'change', будет запущена последней?

1 Ответ

5 голосов
/ 27 октября 2011

Краткий ответ: да

Глядя на исходный код, да, в цикле запускается individual:changes, и после этого, если произошли какие-либо изменения, сработает главное событие change.Ничего из этого не сработает, если вы передадите silent: true.

Порядок срабатывания отдельных событий изменения зависит от порядка атрибутов, переданных .set().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...