backbone.js 3路模型同步

时间:2012-07-02 16:20:02

标签: javascript html5 backbone.js persistence web-sql

我正在开发一个使用客户端持久存储的(HTML5)Web应用程序,该应用程序会定期同步到服务器。我最近遇到了backbone.js,我印象非常深刻。但是,我对如何实现我的(假设非常常见的)用例感到困惑。

因此,有三个单独的存储区域可以同步。内核中的Backbone.Model对象,本地HTML5 SQL存储和服务器本身。我对backbone.js的阅读似乎总是只是双向同步,即在本地/服务器和模型之间。例如。使用backbone-websql插件允许同步到本地存储,但随后覆盖服务器同步!?我应该怎样处理这个“三路”案件?

与持久存储(尤其是服务器)同步时,必须发送所有相关的当前记录ID及其上次修改日期,以便仅返回/更新已修改的记录。但是,从我的阅读中,在查询期间将整个记录发送到服务器,这在我的情况下是太多的数据。我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

你应该阅读Backbone.sync 有一个约定,在backbone-websql等适配器中重新定义Backbone.sync方法。 因此,存储原始同步功能以进行内存到服务器同步,然后添加插件。 “上次修改”逻辑也可以在Backbone.sync中轻松实现