2016-09-16 4 views
1

Ich habe eine Anforderung, wo ich lokale Einstellungen des Benutzers in einige Cache-Objekt speichern müssen. Ich habe versucht, dies unter Verwendung von $cacheFactory z.B.AngularJs nicht in der Lage zu überprüfen cacheId existiert bereits

var userCache = $cacheFactory('users');

Wenn jedoch mein Code diese Zeile wieder getroffen, es gibt mir folgende Fehlermeldung:

Error : cacheId 'users' is already taken !

Ich bin nicht sicher, wie Sie überprüfen, ob diese ID bereits vorhanden ist, weil ich brauche Abrufen von Einstellungen aus diesem Cache-Objekt bei jedem Laden der Komponente.

Antwort

1

Es ist tatsächlich aufgeführt, wie dies zu tun auf the documentation page:

Die $cacheFactory() Funktion ist kein „erhalten oder schaffen“ Anruf, es ist nur eine erstellen.

Dies ist, wie würden Sie prüfen, ob der Cache bereits erstellt wurde:

if (!$cacheFactory.get('users')) { 
    var userCache = $cacheFactory('users'); 
} 

die

var userCache = $cacheFactory.get('users') || $cacheFactory('users'); 
zu

geändert werden kann
Verwandte Themen