【发布时间】:2012-05-25 06:11:05
【问题描述】:
我有一个模型的主干集合,这些模型在页面加载时传入的数据与获取时不同。
例如,页面加载时进入的属性是:
[{ name: 'cat', color: 'yellow' },
{ name: 'dog', color: 'brown' },
{ name: 'fish', color: 'orange' }]
然后,在 fetch() 上(或者在页面存在时从服务器更新,数据看起来像:
[{ name: 'cat', current: 5, total: 100 },
{ name: 'dog', current: 6, total: 50 },
{ name: 'fish', current:7, total: 25 }]
如何在保留旧数据的同时使用新数据更新主干集合? ID 不是从服务器分配的(名称保证唯一)。
【问题讨论】:
-
定义“保留”。您的意思是将旧数据保存到某个变量中吗?还是更多地将新旧数据保存在同一个集合实例中?
-
后者(将新旧数据保存在同一个集合实例中)
-
那么内置的
fetch()不做你想做的事吗? From the docs:如果您想将传入模型添加到当前集合中,而不是替换集合的内容,请将{add: true}作为获取选项传递。 -
@CrescentFresh 但 fetch 不会更新/添加任何 id 尚未存在的模型。所以问题的集合不会改变。
标签: javascript backbone.js backbone.js-collections