如何跟踪未同步到服务器的模型更改?
How do I keep track of model changes that aren't synced to the server?
我有一个表单,它通过执行许多set
方法的更改事件更新我的模型。
model.set({Name: newname });
同样可以用Derick Bailey的出色的modelbinding插件自动实现。
无论如何,当更改表单时,模型是不断更新的。但是,除非我点击实际执行model.save();
调用的保存按钮,否则这些更改都不会进入数据库。
因此,如果我现在通过:
离开表单- 浏览器返回按钮
- 导航栏中的其他按钮打开另一个视图
很明显,模型是用它的新名称保存的,但它从未保存到数据库中,(用F5刷新显示)
我正在寻找一个有用的解决这个问题的方法;到目前为止,我一直在想:
- 在表单元素的任何模糊事件上添加
model.save()
(仍然会导致许多保存调用服务器仅为1个模型*不理想 - 试图破解保存在退出的形式*不理想
- 试图将模型恢复到原始状态(模型重置或类似)
*不理想:用户导航远离表单,表明他希望不保存它的数据,在这里我试图破解保存。
我如何实现这个重置模型的状态,它是在改变形式之前?
如果您愿意,您可以保存模型的初始状态。但真正的解决方案,你正在寻找的是调用set
而不是save
。它将执行您的验证,而无需同步到您的持久层(即数据库)。它还将触发change
事件,以便您的视图可以做出相应的反应。然后,当您准备保存时,您可以。
相关文章:
- 具有服务器端呈现的HTML片段的主干模型
- ASP.Net模型到Javascript-将数据从服务器传递到客户端
- 如何选择性地从主干集合和服务器中删除模型
- 如何将数据从服务器绑定到Backbone.js的模型
- 如何将复杂的模型从客户端传递到服务器
- Ember.js模型保存不向服务器发送数据
- 根据服务器的初始标记填充knockoutJS视图模型对象
- 如果外部应用程序更改了持久模型(服务器数据库),AngularJS 是否可以自动更新视图
- 如何将数据从服务器呈现的 html 加载到模型中
- 为什么主干模型在保存时将重复的属性发送到服务器
- 环回中的通用模型和服务器模型有什么区别
- 如何使用骨干模型从服务器获取单本书详细信息
- 为什么服务器端模型、验证等与客户端之间存在如此脱节
- 如何在 MEAN.JS 中将数组添加到 javascript 服务器端模型
- 将数据库模型的整洁 JSON 数据从服务器(python)发送到客户端
- 将模型绑定到服务器最初填充的HTML表
- 主干持久性从服务器检索数据;t填充集合和模型
- Ember-将模型id从路由中取出并发布到服务器
- Angular区分服务器模型和客户端视图模型的方式
- 网页游戏中的客户端和服务器模型