【发布时间】:2014-02-17 09:43:09
【问题描述】:
我正在使用 AngularJS 和 Breeze 制作移动 SPA 应用程序。
此应用程序的用户将能够观看一些项目,我希望应用程序记住用户观看了哪些项目以及观看频率。根据这些信息,我希望能够创建一个“最喜欢的项目”或“最近的项目”列表。
我不打算将此信息保存到后端。我希望这些信息保存在浏览器缓存中 - 直到浏览器缓存被清除。
我该怎么做?
饼干?
Angular 或 Breeze 是否可以帮助我实现这一目标?
【问题讨论】:
我正在使用 AngularJS 和 Breeze 制作移动 SPA 应用程序。
此应用程序的用户将能够观看一些项目,我希望应用程序记住用户观看了哪些项目以及观看频率。根据这些信息,我希望能够创建一个“最喜欢的项目”或“最近的项目”列表。
我不打算将此信息保存到后端。我希望这些信息保存在浏览器缓存中 - 直到浏览器缓存被清除。
我该怎么做?
饼干?
Angular 或 Breeze 是否可以帮助我实现这一目标?
【问题讨论】:
一般来说,您可以在内存缓存或本地存储中使用。确实有非常好的angular插件,使用起来非常简单:
Angular 缓存的 API 具有以下方法:
.get(key)
.put(key, value)
.clearAll()
在此处阅读更多信息http://jmdobry.github.io/angular-cache/api.html
本地存储也有类似
.get(key)
.add(key, value)
.clearAll()
在此处阅读更多信息http://gregpike.net/demos/angular-local-storage/demo/demo.html
此外,这篇博文Power up Angular's $http service with caching 提供了很好的概述。
最有趣的是,这两个概念甚至可以一起工作,即。一些缓存的东西(在内存中)也可以放入本地存储...稍后可用,请检查:
总结:Angular-cache 和 Local-storage 插件提供了非常好的和简单的 API 用于与客户端上的缓存交互
【讨论】:
如果您打算使用 BreezeJs,您应该利用 Breeze 功能进行缓存。
使用 Breeze,您可以指示仅从缓存中的数据执行查询。
在下一个链接中,有更多信息。我建议你看一下微风的文档。 http://www.breezejs.com/documentation/entitymanager-and-caching
【讨论】: