同时在Backbone.js中重新编号Collection的ListViews

时间:2011-01-07 15:14:47

标签: javascript javascript-events backbone.js

我正在使用backbone.js,我有(1)列表视图中包含集合中的项目,以及(2)带有标记的地图集合中的项目。 ListView和Markers已编号,因此用户知道列表视图中的哪个项目对应于哪个标记。

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

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

删除:[3]

重新编制索引前的集合:[1,2,4,5]

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

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

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

1 个答案:

答案 0 :(得分:2)

您应该将两个不同的视图附加到同一个集合中。

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

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