骨干js中的模型改变事件顺序

nak*_*hli 1 javascript model-view-controller backbone.js

是否保证'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"); });
Run Code Online (Sandbox Code Playgroud)

是否保证绑定到'change'的函数最后会被触发?

Esa*_*ija 5

简短回答:是的

查看源代码,是individual:changes在循环中触发,然后,如果有任何更改,主change事件将触发.如果你通过,这些都不会触发silent: true.

触发的各个更改事件的顺序取决于传递给的属性的顺序.set().