使用 Backbone,我为模型创建了一个视图。我想为用户提供以下工作流程:a)最初,模型内容仅通过模板显示,并且有一个编辑按钮 b)如果用户单击编辑按钮,模型内容将以表单和可以通过单击保存按钮将其保存回模型。c1) 如果保存成功,我们将通过模板重新呈现新的模型内容并再次显示 c2) 如果有任何验证错误,则使用错误更新表单。
我想出了以下关于如何实现这一点的选项。但我不确定最佳实践。任何建议都非常受欢迎。
选项 1:2 个子视图(一个用于显示内容,一个用于编辑内容)在显示和编辑之间的任何切换时动态创建(然后删除)。
选项 2:2 个子视图(一个用于显示内容,一个用于编辑内容)在任何开关(如切换)上隐藏/取消隐藏
选项 3:2 个子视图(一个用于显示内容,一个用于编辑内容)分配给任何开关上的父元素。
选项 4:1 个视图以管理模型内容和 2 个模板(一个用于显示,一个用于编辑),它们在显示和编辑之间的任何切换时呈现。
从我的直觉来看,我显然更喜欢选项 4,因为它只需要一个可以处理所有逻辑的视图。但也许我已经在性能、事件处理、DOM 访问等方面监督了一些事情。因此,任何关于 4 个选项的优缺点的激烈争论都受到高度赞赏。你怎么看?