我希望我的模型在每次更改时保存到服务器。如何将this.save绑定到backbone.js模型更改事件?
我曾尝试:
initialize: function() {
this.bind('change', this.save());
},
我是新来的骨干,所以我愿意相信有更好的方式来实现这一目标。基本上我希望避免在代码中的其他位置调用model.save,只需在模型更改时自动保存到服务器。
我希望我的模型在每次更改时保存到服务器。如何将this.save绑定到backbone.js模型更改事件?
我曾尝试:
initialize: function() {
this.bind('change', this.save());
},
我是新来的骨干,所以我愿意相信有更好的方式来实现这一目标。基本上我希望避免在代码中的其他位置调用model.save,只需在模型更改时自动保存到服务器。
您呼叫this.save立即,而不是将其通过作为回调function.remove括号上this.save
:
initialize: function() {
this.bind('change', this.save);
},
和模型的this.save
方法将被传入一个函数参考,允许它在模型改变时被调用。
小心使用this.save直接:
this.bind('change', this.save);
将导致更改的属性与所述改变事件发送到被传递到保存方法,这将导致第二“变化”事件被烧成,所以它会被保存两次。
而是使用:
this.bind('change', function(){ this.save(); });
谢谢德里克,问题就迎刃而解了。 – alexduncan
请将我的回答标记为已接受(大支票)? :) –