0
我有一个Backbone模型,我想在本地进行更新,但我不知道更新是否会更改模型中的任何内容。骨干为什么要求保存更改?
我不想在模型上运行set
并立即调用save
,因为没有任何可能发生变化。
因此理想情况下,我只听了change
事件,然后将其保存:
var Goat = Backbone.Model.extend({
initialize: function() {
this.on('change', function(){
this.save();
});
}
});
var billy = new Goat({
gruff: true
});
billy.set('gruff', true); // doesn't do anything
billy.set('gruff', false); // fires change
的问题,这是调用保存那么显然激发change
,等我们走在令人心动不已圈。
为什么会save
触发change
?如果是这样,那么我有什么正确的方法来达到上述目的呢?
明确你的目标:只要模型属性发生变化,你想坚持模型? –
是的。无需事先检查模型是否有所不同,而无需创建“更改” - “保存”循环。 – dthree
好吧,仅供参考:模型会在每次set()或save()时检查当前模型是否不同。 http://backbonejs.org/docs/backbone.html#section-46 –