我正在使用backbone.js,我有(1)列表视图中包含集合中的项目,以及(2)带有标记的地图集合中的项目。 ListView和Markers已编号,因此用户知道列表视图中的哪个项目对应于哪个标记。
这是一个允许用户添加和删除位置的视图,因此我需要在每个添加和删除事件上重新编号列表和标记。例如。
收集:[1,2,3,4,5]
删除:[3]
重新编制索引前的集合:[1,2,4,5]
收集重新索引:[1,2,3,4]
....但是,这里是捕获,列表中的数字需要匹配地图上各自的标记。
这样做的最佳方法是什么?我应该有一个视图同时控制列表视图和映射并执行重新索引,或者我应该有一个列表视图和一个地图视图,让他们都监听模型的更改。如果我使用双视图选项,如何在重新编制索引后确保列表视图项和标记的编号正确?
答案 0 :(得分:2)
您应该将两个不同的视图附加到同一个集合中。
为了防止您需要任何手动编号和簿记,您可以使用集合中模型对象的索引作为标识符。
这样,您的地图标记和列表项将自动始终获得相同的标识符。