Ist CacheFactory in anglejs ein Singleton?
Ich habe einen Dienst mit der CacheFactory erstellt. Ich hatte erwartet, dass es ein Singleton sein würde. Ich injiziere es in meinen Controller und es funktioniert einwandfrei im Rahmen des Controllers. Wenn ich jedoch zu einer anderen Seite mit einem anderen Bereich gehe, scheinen die Werte im Cache, die ich auf demselben Controller gespeichert habe, nicht in einem anderen Bereich zu sein. Sollte das Verhalten der CacheFactory nicht ein Singleton sein, bei dem ich überall dort dieselben zwischengespeicherten Objekte habe, wo ich den CacheService einspeise?
Dies ist mein Service als Beispiel:
angular.module('MyService', []).factory('CacheService', function($cacheFactory) {
return $cacheFactory('cacheService', {
capacity: 3 // optional - turns the cache into LRU cache
})
});
Dann in meinem Controller:
function MyController($scope, CacheService) {
var results= CacheService.get('storedvalue');
if(!results){
CacheService.put('storedvalue', results);
alert('results not stored');
}
else
alert('results stored');
}