0
我有一個模型,其中從服務器返回的某些數據不能被客戶端編輯,但用於顯示目的。但是,有些數據是可編輯的,應該發送到服務器。我應該如何區分這些?我覺得這涉及重寫parse
和toJSON
或save
的某種組合,但我不知道如何以正確的方式去做這件事。你會如何做到這一點?如何在Backbone模型中爲演示文稿和持久性分隔數據?
我有一個模型,其中從服務器返回的某些數據不能被客戶端編輯,但用於顯示目的。但是,有些數據是可編輯的,應該發送到服務器。我應該如何區分這些?我覺得這涉及重寫parse
和toJSON
或save
的某種組合,但我不知道如何以正確的方式去做這件事。你會如何做到這一點?如何在Backbone模型中爲演示文稿和持久性分隔數據?
我的第一反應是「不要混淆與模型視圖狀態」,這將是最好創建一個特定視圖模型,通過你的數據模型爲initialize
,並設置您需要的字段在那裏從數據模型的視圖模型。
覆蓋parse
將不會執行任何操作,因爲它僅用於解析服務器的響應。
覆蓋toJSON
並讓它只返回您感興趣發送到服務器應該工作的屬性。如果你看一下Backbone source
// Ensure that we have the appropriate request data.
if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {
params.contentType = 'application/json';
params.data = JSON.stringify(options.attrs || model.toJSON(options));
}
應該使用模型toJSON
功能,只要你沒有通過任何屬性save
。