我想知道在传递add: true
to时是否有任何方法可以获取更改后的模型fetch
。它呈现集合中的所有新模型,但我也想知道是否有任何模型发生了变化。
这可能吗?
我还考虑了将不同的函数作为成功处理程序传递给 的可能性fetch
,该函数将仅重新呈现视图的某些部分而不是整个视图。
我想知道在传递add: true
to时是否有任何方法可以获取更改后的模型fetch
。它呈现集合中的所有新模型,但我也想知道是否有任何模型发生了变化。
这可能吗?
我还考虑了将不同的函数作为成功处理程序传递给 的可能性fetch
,该函数将仅重新呈现视图的某些部分而不是整个视图。
从 0.9.10 版开始,您应该{update:true}
使用{add:true}
. 这将告诉集合change
为每个已更改的模型触发一个事件。(请注意,该change
事件是在集合而不是模型上触发的)
如果您希望集合添加和更新模型,但不删除它们,您可以这样做:
myCollection.fetch({update:true, remove:false});
通常的模式是有一个呈现模型的视图。然后是你:
add
事件,以便附加添加模型的视图。change
重新渲染。如果您仍然希望只有一个视图,您: - 订阅集合的add
事件以附加到视图。- 订阅集合的change
事件并更新部分视图。
您可以绑定到“添加”事件并触发仅更新部分视图的方法。您必须显式绑定集合事件才能重新呈现您的视图。所以换句话说,你控制应该渲染视图的哪些部分。您能否仅根据集合“更改”事件更改呈现视图的功能?
每个模型都有一个方法 isNew() 和 hasChanged()。您可以循环浏览您的收藏以查看哪些模型已更改。如果有一种更简单、更熟练的方法来做到这一点,我会全力以赴。
也许您可以发布一些代码,以便我们可以确切地看到您在做什么?