0

当某些操作更改 Backbone.js 中的多个模型时,一般的良好做法是什么:

  1. 为每个触发多个 PUT 请求mode.save()
  2. 同步整个集合的单个请求
4

3 回答 3

2

如果更改模型的数量大于 1 - 肯定应该是第二项。

于 2013-06-14T15:25:05.093 回答
1

通常,良好的 REST api 实践似乎建议您应该使用update, save, create, delete单个持久元素实例。事实上,你会发现一个Backbone.Collection对象并没有实现这些方法。

此外,如果您为数据访问点使用标准 URI 方案,您会注意到集合没有唯一 ID。

GET  /models       //to get all items,
GET  /models/:id   //to read an element,
PUT  /models/:id   //to update an element,
POST /models/:id   //to create an element,
DELETE /models/:id //to delete an element.

如果您需要一次更新服务器上集合的每个模型,也许您需要询问原因,并且可能需要重新考虑模型结构。也许应该有一个单独的模型来保存该公共信息。

正如 Bart 所建议的,您可以实现一种PATCH方法来仅更新特定元素的更改属性,从而节省带宽。

于 2013-06-14T21:15:14.193 回答
1

我喜欢第一个选项,但我建议您实现 PATCH 行为(仅发送更新的属性)以使请求尽可能小。此方法为您提供更原生的“自动保存”感觉,就像 Google Docs。当然,这一切都取决于您的应用程序以及您在做什么。

于 2013-06-14T16:41:53.540 回答