Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干网:多个小的模型更改请求与一个集合同步?_Backbone.js - Fatal编程技术网

Backbone.js 主干网:多个小的模型更改请求与一个集合同步?

Backbone.js 主干网:多个小的模型更改请求与一个集合同步?,backbone.js,Backbone.js,当某些操作更改Backbone.js中的多个模型时,一般的良好做法是什么: 为每个模式触发多个PUT请求。save() 同步整个集合的单个请求 如果更改的模型数量大于1,则它肯定应该是第二项。如果更改的模型数量大于1,则它肯定应该是第二项。我喜欢第一个选项,但我建议您实施补丁行为(仅发送更新的属性)使请求尽可能小。这种方法给你一种更自然的“自动保存”感觉,就像谷歌文档一样。当然,这一切都取决于你的应用程序和你在做什么。我喜欢第一个选项,但我建议你实施补丁行为(只发送更新的属性),以使请求尽可能小

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

  • 为每个
    模式触发多个PUT请求。save()
  • 同步整个集合的单个请求

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

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

    我喜欢第一个选项,但我建议您实施补丁行为(仅发送更新的属性)使请求尽可能小。这种方法给你一种更自然的“自动保存”感觉,就像谷歌文档一样。当然,这一切都取决于你的应用程序和你在做什么。

    我喜欢第一个选项,但我建议你实施补丁行为(只发送更新的属性),以使请求尽可能小。这种方法给你一种更自然的“自动保存”感觉,就像谷歌文档一样。当然,这一切都取决于你的应用程序和你在做什么。

    通常,良好的REST api实践似乎建议你应该
    更新、保存、创建、删除持久元素的单个实例。事实上,您会发现
    主干.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所建议的,您可以实现一个
    补丁
    方法来只更新特定元素的更改属性,从而节省带宽。

    通常,良好的REST api实践似乎建议您应该
    更新、保存、创建、删除持久元素的单个实例。事实上,您会发现
    主干.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所建议的,您可以实现一个
    补丁
    方法来只更新特定元素的更改属性,从而节省带宽