0

每次我对我的收藏进行“提取”时,主干都会为每件商品创建新模型。旧模型留在内存中,导致大量内存泄漏。

“fetch”调用之间的数据没有变化,主干不应该识别出没有变化并继续吗?

4

2 回答 2

2

Backbone 集合将使用“set”方法来更新集合中的模型数据。Set 是一种智能方法,它会在收集从服务器获取数据时执行这些检查:

  1. 添加:如果列表中的模型尚未在集合中,它将被添加。
  2. 合并:如果模型已经在集合中,它的属性将被合并
  3. 删除:如果集合包含列表中不存在的任何模型,它们将被删除

您的问题是,即使您只是尝试刷新已更新的数据,当您从服务器获取数据时,该集合也会不断添加新模型。我认为您的数据没有唯一的“id”属性。因此集合在从服务器获取数据时无法执行“智能更新”。

{id:"1234",name:"blabla","tel:0600000000"}

我希望这对你有帮助。

于 2013-07-02T11:04:57.347 回答
0

问题和我想的不一样。

我在我的视图中保留了一个子视图列表,以便我可以删除它们。但是,似乎有 2 个不同的属性具有相同的名称。一个持有观点的人。在此处输入图像描述

于 2013-07-02T11:56:43.037 回答