2011-01-07 50 views
0

我正在使用backbone.js,并且我有(1)列表查看集合中的项目,以及(2)集合中的项目具有标记的地图。 ListView和Markers被编号,以便用户知道列表视图中的哪个项目对应于哪个标记。同时在Backbone.js中重新编号集合的ListViews

这是一个允许用户添加和删除位置的视图,因此我需要对每个添加和删除事件重新编号列表和标记。例如。

集合:[1,2,3,4,5]

删除:[3]

集合重新索引之前:[1,2,4,5]

收集重新索引:[1,2,3,4]

....但是,这里是捕获,列表中的数字需要匹配地图上各自的标记。

要做到这一点,最好的方法是什么?我是否应该有一个视图同时控制列表视图和地图,并执行重新索引,或者我应该有一个视图用于列表,一个用于地图,并让他们都听取模型的更改。如果我使用双视图选项,如何确保重新编制索引后列表视图项目和标记编号正确?

+1

这听起来像你的意思是像_re-indexing_,而不是_re-ordering_。 – 2011-01-07 15:30:01

回答

2

您应该有两个不同的视图附加到相同的集合。

为了防止您需要任何手动编号和簿记,您可以使用集合中模型对象的索引作为标识符。

这样,您的地图标记和您的列表项目将自动始终获得相同的标识符。