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); };
- Safari浏览器发生html5 localStorage错误:“QUOTA_EXCEEDED_ERR:DOMexception22:尝试向超出配额的存储添加内容。
- window.localStorage vs chrome.storage.local
- 如何将数组存储在localStorage中?
- 在IE中localStorage对象是未定义的
- 在Windows 7上的IE11中损坏的JavaScript localStorage对象
- 我如何显示所有localStorage保存的variables?
- localStorage有多持久?
- Chrome扩展程序:在内容脚本中访问localStorage
- HTML5本地存储中的项目何时到期?