我有一个表单,它使用执行很多set
方法的更改事件来更新我的模型。
model.set({Name: newname });
使用 Derick Bailey 出色的模型绑定插件可以自动实现相同的功能。
无论如何,模型在更改形式时会不断更新。但是,除非我单击实际执行model.save();
调用的保存按钮,否则这些更改都不会进入数据库。
因此,如果我现在通过以下方式离开表单:
- 浏览器的后退按钮
- 导航中的其他按钮打开另一个视图
很明显,模型是用它的新名称保存的,但它从未保存到数据库中,(刷新F5显示)
我正在寻找一个有用的解决方案来解决这个问题;到目前为止,我一直在想:
- 在表单元素的任何模糊事件上添加一个
model.save()
(仍然会导致对服务器的许多保存调用仅针对 1 个模型 *不理想 - 试图在表单退出时破解 *不理想
- 试图将模型恢复到原始状态(模型重置或类似)
*不理想:用户确实离开了表单,表明他不希望保存它的数据,在这里我无论如何都试图破解保存。
我将如何将模型重置为更改表单之前的状态?