Является ли CacheFactory в angularjs синглтоном?
Я создал сервис, используя 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');
}