我使用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');
}