我已使用$ cacheFactory在我的应用程序中添加了缓存,但是当用户关闭浏览器然后重新打开时,有关浏览产品的缓存数据已过期。
有没有办法让它更长?提出过期日期或类似的事情?
感谢。
编辑:我可能不得不使用Breeze.js,但在此之前我想知道是否有人知道是否可以使用angularjs(我读了API)并且没有关于它的信息:S)。
编辑2:以提供帮助,我使用$ cacheFactory的方式就像这个JSFiddle code。
factory('SomeCache', function($cacheFactory) {
return $cacheFactory('someCache', {
capacity: 3 // optional - turns the cache into LRU cache
});
}).
编辑3: Lawnchair不是一个选项,它存储在javascript数组中,并且在关闭浏览器后不会保留数据..
答案 0 :(得分:7)
$ cacheFactory使用内存中的浏览器存储,这意味着即使页面刷新也不会存在,更不用说关闭并重新打开浏览器了。
如果要跨页面加载和浏览器会话缓存数据,则需要查找localStorage。请看这里一个非常简单的例子:
http://jsbin.com/acokis/2/edit
我认为您需要查看amplify.js或lawnchair.js,因为它们为管理localStorage提供了很好的包装,同时还为不支持localStorage的浏览器提供了回退适配器(后备选项赢了'但仍然可以在页面刷新时保持不变。