Gab*_*erg 4 local-storage backbone.js
我正在尝试使用backbone.js构建一个移动应用程序,它将:
应用程序永远不会将数据更改提交到服务器,但只能使用本地存储.
我正在手动从服务器加载数据并填充集合,这一切都正常,只是因为我无法将数据传输到本地存储.
我正在撞墙试图让它发挥作用.任何有关如何解决这个问题的想法都非常感谢.我见过的所有示例都提交到服务器或纯粹的本地存储.
一个小示例代码将是有用的.
我不确定你是如何在第一次运行时从服务器加载一个项目列表,如果你已经让本地存储工作,但是,这是我可能把它放在一起的方式.
如果您在应用程序运行期间无需返回服务器刷新任何模型,那么非常最简单的方法是从应用程序中嵌入的服务器中提供模型,并在创建集合时加载它们:
foo = new MyCollection(myJSONthatContainsAllTheModels)
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Backbone Docs中的Bootstrapping.
如果您需要在应用程序运行过程中定期从服务器刷新,那么..
使用backbone-localstorage只需一次更改即可.这意味着它将覆盖同步方法和任何正常的"获取","保存"等功能将操纵本地存储.更改是将原始Backbone.Sync复制到一个名为Backbone.ServerSync的新函数,然后将Backbone.Sync替换为LocalStorage版本.这样可以保留REST同步.
然后,我将使用Backbone.ServerSync函数使用新函数扩展Backbone.Collection,该函数用于从服务器获取数据.
它看起来不像backbone-localstorage会干扰集合的URL属性,因此您应该能够非常轻松地执行此操作.
这个新的集合函数,比如称为serverfetch,为了清晰起见,或多或少会成为fetch的克隆,但是使用Backbone.ServerSync方法而不是Backbone.Sync.
在从服务器获得响应并解析它之后,它将为每个模型调用add,这些模型应该将它们提交到本地存储.
| 归档时间: |
|
| 查看次数: |
2611 次 |
| 最近记录: |