我已经使用 CacheFactory 创建了一个服务。我期待它是一个单身人士。我将它注入我的控制器,它在控制器的范围内工作正常。但是,一旦我转到具有不同范围的不同页面,我似乎没有缓存中的值,这些值存储在不同范围的同一控制器中。CacheFactory 的行为不应该是一个单例,在我注入 CacheService 的任何地方都有相同的缓存对象吗?
以我的服务为例:
angular.module('MyService', []).factory('CacheService', function($cacheFactory) {
return $cacheFactory('cacheService', {
capacity: 3 // optional - turns the cache into LRU cache
})
});
然后在我的控制器中:
function MyController($scope, CacheService) {
var results= CacheService.get('storedvalue');
if(!results){
CacheService.put('storedvalue', results);
alert('results not stored');
}
else
alert('results stored');
}