backbone.js在一个元素上有多个视图

时间:2013-05-28 07:48:27

标签: backbone.js backbone-views multiple-instances rerender

我有多个集合的多个视图,例如。用于集合节点的NodeCollectionView,用于集合道路的roadcollectionview等。问题是所有这些视图都使用与root相同的el: #data。他们需要使用相同的根,因为这些集合中的每个项都应插入此主div(#data)。

出现的问题是,如果我重新渲染一个视图(由于集合更改,更改屏幕上集合对象的位置),该元素在屏幕上重复,而不是在集合中重复。这是因为我之前没有清除根el,但我不能,因为如果我愿意,那么只会显示已更改的集合。其他人当然不会触发渲染命令....

有人可以帮我解决这个案子吗?

1 个答案:

答案 0 :(得分:0)

我认为至少有两种方法:

1)从容器的渲染中删除所有旧的集合项(例如,使用某些类或数据属性标记它们,并删除所有旧的渲染)。

2)在每个渲染中清理所有容器并调用另一个集合渲染。