0

根据 Backbone.js 文档Model-parse执行以下操作:

每当服务器返回模型的数据,获取和保存时,都会调用 parse。

为了增加我已经加载的模型,我使用Model.parse(). 我通过使用fetch发出额外的数据请求来完成此操作,然后使用该数据将属性添加到现有模型。

例子:

fetch 对象{age: 19}
在解析器之后{age: 19, isAdult: true}

当我执行保存请求时,在 PUT 请求中我还有其他不需要的参数(例如 isAdult)。我想要原始模型(PUT 请求中没有其他参数)。

在 Backbone 中实现我的目标的最佳方式是什么?

4

1 回答 1

2

如果我正确理解你的问题......

当骨干网使用保存与服务器对话时,它会发送模型的完整表示。正如文档所说:

属性散列(如集合)应该包含您想要更改的属性——未提及的键不会被更改——但是,资源的完整表示将被发送到服务器

所以默认行为是发送完整的模型。如果你想实现你自己的逻辑,你将不得不重写该sync方法。稍微挖掘一下扩展的主干代码,你会在上面看到这条评论sync

// 重写此函数以更改 Backbone 将
模型持久保存到服务器的方式。您将收到请求的类型和相关模型。

我会使用默认的同步实现作为我的起点。

于 2012-05-17T21:45:49.823 回答