我希望我的模型在每次更改時保存到服務器。如何將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
請將我的回答標記爲已接受(大支票)? :) –