我正在开发一个应用程序,其中有两个视图。
视图 1 是文档列表,显示一些重要细节视图 2 是它自己的文档。编辑。
该应用程序是多用户的。 因此,应用会轮询服务器以获取集合的更新。
问题是,当集合(视图 1)刷新 (.fetch) 时,它会解除子模型的所有事件的绑定。 包括在视图 2 中打开的那个。 与获取之前一样,文档(模型)中的任何更改都反映在列表(集合)中,在获取之后,文档(现在是旧模型)现在与列表(集合)无关。
在查看主干.js源后,这是预期的行为。 有没有解决方法?
是的,这是一个非常普遍的问题。将重置集合并刷新其所有引用,即使它们的目标与以前相同。
我认为实施一种反对Collection.fetch()
的Collection.update()
方法可能是个好主意。
检查此胎面以获取处理此行为的方法:Backbone.js collection upsert?