Backbone.js能够做rest和本地存储?

我一直在尝试使用Backbone.js的本地存储模块(https://github.com/jeromegn/Backbone.localStorage)。 据我了解,这重载Backbone.sync,并因此停止推送到服务器的主干(?)。 理想情况下,我想将数据传回服务器,并在线时在本地保存,并在离线状态下使用本地存储(您知道,完美的应用程序)。 我还没有find任何文件。

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

谢谢。

Backbone.localStorage是一个可以覆盖Backbone.Sync的外部文件。

您可以使用简单function检测来判断用户是否处于脱机状态或联机状态,然后在脱机状态下asynchronous加载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); };