javascript-Backbone.js能够进行休息和本地存储吗?

我一直在尝试使用Backbone.js([https://github.com/jeromegn/Backbone.localStorage)的localstorage模块。]据我了解,这会使Backbone.sync重载,因此阻止了将主干网推送到服务器(? )。 理想情况下,我也希望将数据也传递回服务器,并在联机时将其持久化到本地,而在脱机时仅使用localstorage(您知道这是完美的应用程序)。 我还没有找到任何文档。

Backbone.localStorage是否是其中的一部分?有没有人能够建立这种情况?怎么做? (请告诉我,我不必自己动手。)

谢谢。

LeRoy asked 2020-08-02T01:30:21Z
1个解决方案
45 votes

Backbone.localStorage是可用于覆盖Backbone.Sync的外部文件。

您可以使用简单功能检测用户是脱机还是联机,然后在用户脱机时异步加载Backbone.localStorage.js。

如有必要,您还可以将特定版本的Backbone.sync传递给模型和集合。

如果要同时执行这两个操作,则必须编写自己的Backbone.sync版本,该版本既调用服务器又调用localStorage。

最简单的方法是定义

Backbone.sync = function() {
    originalSync.apply(this, arguments);
    localStorageSync.apply(this, arguments);
}

编辑:

如评论中所述,如果您使用最新的主干localStorage插件,则可以执行以下操作

Backbone.sync = function Sync() {
    Backbone.ajaxSync.apply(this, arguments);
    return Backbone.localSync.apply(this, arguments);
};
Raynos answered 2020-08-02T01:31:04Z
translate from https://stackoverflow.com:/questions/5761349/backbone-js-able-to-do-rest-and-localstorage