根据Backbone.js文档Model-parse执行以下操作:
只要服务器返回模型的数据,就会调用parse 获取并保存。
为了增加我已加载的模型,我使用了Model.parse()
。我通过使用fetch
对数据进行额外请求来实现此目的,然后使用该数据向现有模型添加属性。
示例:的
获取对象为{age: 19}
在解析器将是{age: 19, isAdult: true}
当我执行保存请求时,在PUT请求中我还有其他不需要的参数(例如isAdult)。我想拥有原始模型(在PUT请求中没有附加参数)。
实现Backbone目标的最佳方法是什么?
答案 0 :(得分:2)
如果我理解你的问题......
当主干与使用保存的服务器对话时,它会发送模型的完整的表示。正如文档所说:
属性hash(如set中所示)应包含您所属的属性 喜欢改变 - 未提及的密钥不会被改变 - 但是,a 资源的完整表示将发送到服务器。
所以默认行为是发送完整的模型。如果要实现自己的逻辑,则必须覆盖sync
方法。稍微浏览扩展的骨干代码,您会在sync
上面看到此评论:
//覆盖此函数以更改Backbone持续存在的方式 //模型到服务器。您将被传递请求类型和相关模型。
我会使用sync的默认实现作为我的起点。