功能分析: 在我的应用程序的一个组件上,我有一个编辑/锁定系统。当用户开始编辑时,他会锁定文件,以便其他用户无法编辑它。
问题场景:当用户激活“编辑模式”并离开屏幕时,我想显示一个包含两个选项的警报:保存更改或放弃更改。
退出屏幕有多种方法:
我是否必须抓住所有这些事件并插入所有这些地方? 是否有任何焦点机制主义?
答案 0 :(得分:6)
第一个问题的答案是:是。
您需要观看可能损害当前编辑数据的所有可能的退出事件。
嗯,现在的问题是如何妥善管理。使用MVC框架,您将触发组件中的相应命令:
然后,每个命令检查当前编辑的选项卡是否已保存。如果没有,则显示警报。否则,如果没有变化,它允许列表,屏幕选择器和标签栏继续。
因此,您的组件(列表,屏幕,选项卡)需要实现某种回滚或preventDefault机制。通常,中央验证器必须允许更改其状态(在MVC命令中)。
对于列表:我建议不能通过鼠标单击选择列表,而只能通过编程方式选择。您在列表项单击事件上设置侦听器。如果该命令允许设置新项目,它将通知列表。在MVC中通常通过发送由列表的中介接收的异步消息。 [[甚至更正确:该命令会设置一些模型属性(例如currentListItem)和模型而不是发送异步消息。]]
编辑:对于浏览器关闭事件,您需要调用JavaScript专家。