我有兩種保存數據的方法(在一個rest API中),它在兩種方式下都可以正常工作,但我想知道哪一種方法可行。骨幹,將數據保存到模型中的正確方法?
1路:
// here serializeObject just converts form inputs into a serialized object
var inputs_data = this.ui.form.serializeObject();
// here in 3rd param from extend is the same as this.model.unset('logged');
var data = _.extend(this.model.toJSON(), inputs_data ,{logged: undefined});
// here I save and the data goes Ok!
this.model.save(data);
第二個辦法:
// here i serialize the object the same as above
var inputs_data = this.ui.form.serializeObject();
// here i exclude 3rd parameter
var data = _.extend(this.model.toJSON(), inputs_data);
// set data with model.set instead of model.save
this.model.set(data);
// remove unwanted attributes
this.model.unset('logged',{silent:true});
// finnaly just save
this.model.save(data);
到目前爲止,我現在用的是1號的方式,因此,如果應用程序變爲更大它將帶給我不知道因此造成的任何問題。
通過觀察這兩種方式我也得到了conlusion在第二個它似乎在更新模型數據時正常工作,同時保存它,讓我們假設像一個實時編輯模式(同步)。 – Uuid 2013-05-01 16:35:59
如果您需要更改模型的屬性而不同步,請使用'set'。然後稍後可以調用不帶參數的'save'將其同步到服務器。 – 2013-05-01 17:24:56