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