BreezeJS和IndexedDB脱机示例

时间:2014-05-20 15:06:40

标签: breeze

好的,我看到BreezeJS支持IndexedDB的位置,至少基于他们网页上的条目,但我在哪里可以找到如何使用BreezeJS和IndexedDB本地存储选项构建离线解决方案的示例? 如何在本地存储中构建此服务器端方案? 还有,还有与Mysql同步的例子吗? 感谢

3 个答案:

答案 0 :(得分:2)

Breeze可以将从EntityManager导出的任何实体集合存储到客户端上可用的任何本地存储机制 了解您正在存储整个序列化的实体集合单个密钥,即您不是通过密钥将单个实体存储到商店中。

我们还没有使用IndexedDb的任何示例,但DocCode示例zip中有几个使用浏览器localStorage的示例。 indexedDb的基本思想大致相同,

  • 1)通过EntityManager.exportEntities调用将一个或多个实体导出为字符串。 (这将返回一个字符串化的json结果)。
  • 2)使用任意键将字符串存储到本地存储(浏览器localStorage或IndexedDb)。
  • 3)稍后...从localStorage
  • 检索字符串
  • 4)通过EntityManager.importEntities调用将字符串导入EntityManager。

答案 1 :(得分:1)

Breeze没有为IndexedDB提供包装器。你必须自己写。 window.indexedDB是浏览器的HTML5 DOM的一部分,因此当您在Breeze文档中看到它时,它只会引用浏览器的DOM中可用的内容。 您需要编写自己的自定义IndexedDB函数来处理从数据库中保存和检索的请求。

答案 2 :(得分:0)

这是一个拉取请求,它增加了对BreezeJS的支持,这将为使用indexedDB导出/导入添加更高级的支持。如果您希望将此支持添加到Breeze.JS,请+1。

https://github.com/Breeze/breeze.js/pull/22