Backbone.js 如何在主干模型中分离数据,以实现表示与持久化?

Backbone.js 如何在主干模型中分离数据,以实现表示与持久化?,backbone.js,Backbone.js,我有一个模型,其中一些从服务器返回的数据不可由客户端编辑,而是用于显示目的。但是,有些数据是可编辑的,应该发送到服务器。我应该怎样把这些分开?我觉得这涉及到重写parse和toJSON的某种组合,或者可能是save,但我不确定如何正确地进行。您将如何做到这一点?我的第一个反应是“不要将视图状态与模型混合”,最好创建一个特定的视图模型,将数据模型传递到initialize中,并从数据模型中设置视图模型上所需的字段 重写parse不会做任何事情,因为它只在解析来自服务器的响应时使用 重写toJSON

我有一个模型,其中一些从服务器返回的数据不可由客户端编辑,而是用于显示目的。但是,有些数据是可编辑的,应该发送到服务器。我应该怎样把这些分开?我觉得这涉及到重写
parse
toJSON
的某种组合,或者可能是
save
,但我不确定如何正确地进行。您将如何做到这一点?

我的第一个反应是“不要将视图状态与模型混合”,最好创建一个特定的视图模型,将数据模型传递到
initialize
中,并从数据模型中设置视图模型上所需的字段

重写
parse
不会做任何事情,因为它只在解析来自服务器的响应时使用

重写
toJSON
并让它仅返回发送到服务器时需要的属性应该有效。如果你看

它应该使用模型的
toJSON
函数,只要您没有将任何属性传递给
save

// 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));
}