如何在Backbone模型中分离数据以用于表示与持久性?

时间:2015-05-30 06:40:56

标签: backbone.js

我有一个模型,其中服务器返回的某些数据不能被客户端编辑,但用于显示目的。但是,有些数据是可编辑的,应该发送到服务器。我应该如何分开这些?我觉得这涉及到覆盖parsetoJSON或者save的某种组合,但我不确定如何以正确的方式解决这个问题。你会怎么做?

1 个答案:

答案 0 :(得分:0)

我的第一反应是“不要将视图状态与模型混合”,创建特定的视图模型会更好,将数据模型传递给{{1从那里的数据模型中设置视图模型所需的字段。

覆盖initialize将不会执行任何操作,因为它仅在解析来自服务器的响应时使用。

覆盖parse并让它只返回您在发送到服务器时感兴趣的属性应该有效。如果你看Backbone source

toJSON

只要您没有将任何属性传递给// 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函数。