【问题标题】:Backbone without a datastore没有数据存储的主干
【发布时间】:2012-02-22 01:39:33
【问题描述】:
我正在开发一个离线 javascript 应用程序。它需要支持 IE7,所以 localStorage 不是一个选项。也就是说,该应用程序不需要保留任何信息(如果您刷新所有信息都将被擦除,那没关系)。
所以我的问题是,如何将 Backbone 设置为仅使用标准 javascript 变量 (JSON) 作为我的数据存储?
如果我省略了 model.url() 方法,我会得到一个错误。我想这很简单,但我不知道该怎么做。
谢谢!
【问题讨论】:
标签:
javascript
json
backbone.js
local-storage
【解决方案1】:
如果你看一下localStorage adapter is doing,你会发现它覆盖了Backbone.sync。这是 Backbone 中的模块,当您调用 new、save、fetch 等时,它负责存储/更新/检索/更新您的数据。
默认情况下,它使用模型的url 中定义的 RESTful 端点。如果您使用 LocalStorage 覆盖,它会将其放在本地存储中。
相反,如果您只想将其放入内存数组中,您只需通过定义“读取”、“更新”、“创建”和“删除”的操作来覆盖Backbone.sync。我会将它基于backbone-localstorage.js 适配器,因为它可以满足您的大部分需求,但我会从 id/object 键/值对的哈希中存储/检索。
【解决方案2】:
不要使用save 或create 收集方法。
请改用store 和add。这些不会尝试将数据持久化到存储中。