[英]Immediate Auto Saving with breeze
我正在使用Knockout和breezejs实现表单,我想在用户更改焦点时保存每个字段。 因此,每次更改都意味着对服务器进行了一次保存调用。 问题在于,如果用户在上次保存调用完成时进行了一些更改,则服务器响应时,第一次调用中未包含的更改将还原为原始值。
这是我的经理的配置:
var manager = new breeze.EntityManager({
serviceName : "/api/UserCentre/",
saveOptions: new breeze.SaveOptions({allowConcurrentSaves: true})
});
manager.enableSaveQueuing(true);
删除saveOptions
可以了。 “ SaveQueuing”和allowConcurrentSaves
是相互竞争的方法。
我强烈不建议使用allowConcurrentSaves
因为它可能导致数据库插入和更新不稳定。 这就是为什么它默认为false
的原因。 这确实是我从未感到过舒服的高级功能。
“ SaveQueuing”是为您的方案设计的插件。 作为示例的一部分,它作为单独的JS文件( breeze.savequeuing.js )提供。 它将客户端应用程序保存请求排队,确保每个请求仅在前一个请求完成后才发出。 绝不是万无一失的。 它们是可能使您绊倒的边缘条件。 但这是我们发现的最佳方法,可以在您执行操作时经常自动保存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.