8

我正在寻找 Backbone js 中的模式以在只读视图和编辑视图之间切换。如果视图的触发器在视图外部,那么没问题我可以创建适当的视图(只读或编辑)并渲染它,但在我的情况下,编辑视图的触发器将在只读视图内。

例如,假设我正在显示一个处方,默认情况下它处于只读模式,并且在悬停时会显示一个编辑图标。单击此编辑图标时,只读视图现在应替换为编辑视图。实现这一目标的最佳方法是什么。以下是我正在考虑的几个选项

  1. 有一个带有编辑图标的 PrescriptionView 以及其中编辑模式所需的所有表单字段。它还将具有基于编辑触发器将视图从只读模式更改为编辑模式的逻辑。
  2. 有两个视图 PrescriptionReadView 和 PrescriptionEditView。ReadView 将具有编辑图标,并且单击时将 readview 替换为 editview。

我倾向于#2,但不确定如何以优雅的方式实现它。对此的任何想法都会有所帮助。

谢谢扎弗

4

1 回答 1

12

如果您将漂亮的视图与编辑视图分开,您的生活将大大减轻痛苦,因为从所有意图和目的来看,它们是相同数据的两个不同视图,具有不同的事件处理需求和不同的行为。所以,引导你走向#2 的直觉是正确的

我能想到的最简洁的实现是制作一个可以处理模式交换事件的容器视图(比如 PrescriptionView)。容器将拥有对当前活动处方视图的引用,并将处理该视图的创建以及非活动视图的清理(删除和解除绑定)。这使所有这些逻辑保持良好和独立。

于 2012-06-02T19:59:58.510 回答