我有一个表单,它使用执行大量set
方法的更改事件更新我的模型。
model.set({Name: newname });
同样可以通过Derick Bailey精彩的modelbinding plugin
自动实现无论如何,在更改表单时,模型会不断更新。但是,除非我单击实际执行model.save();
调用的保存按钮,否则这些更改都不会进入数据库。
因此,如果我现在通过以下方式离开表格:
立即清楚,模型以其新名称保存,但它从未保存到数据库中,(使用F5刷新显示)
我正在寻找这个问题的有用解决方案 到目前为止,我一直在想:
model.save()
(对于1个模型,仍然会对服务器进行多次保存调用 *不理想 * 不理想:用户确实离开表单,表示他希望不保存它的数据,而且我在这里试图破解保存。
如何在更改表单之前将模型重置为它所处的状态。
答案 0 :(得分:1)
如果需要,可以保存模型的初始状态。但是,您正在寻找的真正解决方案是拨打set
而不是save
。它将在不同步到持久层(即数据库)的情况下执行验证。它还会触发change
事件,以便您的视图可以做出相应的反应。然后,当你准备好保存时,你可以。