4

我使用 $cacheFactory 在我的应用程序中添加了缓存,但是当用户关闭浏览器然后重新打开时,有关浏览产品的缓存数据已过期。

有没有办法让它变长?放一个到期日期或类似的东西?

谢谢。

编辑:我可能不得不使用Breeze.js,但在此之前我想知道你们中是否有人知道是否可以使用 angularjs 来做到这一点(我阅读了 API 并且没有关于它的信息:S)。

编辑 2:帮助,我使用 $cacheFactory 的方式就像这个JSFiddle 代码

factory('SomeCache', function($cacheFactory) {
    return $cacheFactory('someCache', {
        capacity: 3 // optional - turns the cache into LRU cache
    });
}).

编辑 3: Lawnchair 不是一个选项,它存储在一个 javascript 数组中,并且在关闭浏览器后不会保留数据..

4

1 回答 1

7

$cacheFactory 使用内存中的浏览器存储,这意味着即使页面刷新它也不会持续存在,更不用说关闭和重新打开浏览器了。

如果您想跨页面加载和浏览器会话缓存数据,您正在寻找 localStorage。请参阅此处以获取一个非常简单的示例:

http://jsbin.com/acokis/2/edit

我想你会想看看amplify.jslionchair.js,因为它们为管理 localStorage 提供了很好的包装器,还为不支持 localStorage 的浏览器提供了后备适配器(虽然后备选项不会在页面刷新时持续存在) .

于 2013-03-27T13:29:43.200 回答