【问题标题】:Simultaneously renumbering a Collection's ListViews in Backbone.js同时在 Backbone.js 中重新编号集合的 ListViews
【发布时间】:2011-01-07 15:14:46
【问题描述】:

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

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

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

删除:[3]

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

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

....但是,这里有一个问题,列表中的数字需要与地图上的相应标记相匹配。

执行此操作的最佳方法是什么?我应该有一个视图同时控制列表视图和地图并执行重新索引,还是应该有一个视图用于列表和一个用于地图,并让它们都监听模型的更改。如果我使用双视图选项,如何确保重新索引后列表视图项和标记的编号正确?

【问题讨论】:

  • 听起来您的意思是 re-indexing,而不是 re-ordering

标签: javascript javascript-events backbone.js


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    相关资源
    最近更新 更多