ich meine modale HTML-Seite für die erste Zeit bin Laden und korrekte Daten zu erhalten, aber wenn ich versuche, zum zweiten Mal laden ich eine Störung erhalte,Fehler beim Abruf, wenn Caching in AngularJS
Bitte meinen JS-Code unten finden,
var cache = $cacheFactory('cacheId');
var cacheData = cache.get('xml');
if (!cacheData) {
MyRestApi.getData($scope.data1).then(function(response) {
cacheData = response;
cache.put('xml', cacheData);
});
} else {
var processdata = cache.get('xml');
}
in meinem MyRestApi.js ich den Code unten verwenden,
getData: function(Key) {
return $http.get(baseURL + '/getDetails/' + Key, {
headers: header,
cache: true
});
}
Dies ist das erste Mal, dass ich $ cache in Winkel JS verwenden, informieren Sie mich bitte, warum ich diese Störung erhalte . Ich lade die gleiche modale Seite zum zweiten Mal und ich bekomme diesen Fehler. Getting angular.js: 13568 Fehler: [$ cacheFactory: iid] CacheId 'cacheId' ist bereits vergeben!
Wenn Sie 'cache: true' setzen, wird die get-Anfrage automatisch zwischengespeichert. Wenn Sie den Cache manuell manipulieren möchten, sollten Sie die 'cache' -Eigenschaft auf das $ cacheFactory-Objekt setzen, das Sie gerade erstellt haben. Aber willst du das wirklich? – Amygdaloideum
Ist es möglich, direkt wie $ scope.cache ohne $ cacheFactory zu erhalten, wenn es automatisch zwischenspeichert, wie kann ich den Cache-Wert von MyRestApi zu JS-Code bekommen. Ich muss die Daten nur einmal einstellen und es zum zweiten Mal holen, wo die Daten sehr groß sind und lange brauchen, um geladen zu werden. $ scope.cache.put ('xml', cacheData) und erhalten mit $ scope.cache.get ('xml'), bitte beraten Ist das die Art, wie Sie erwähnen. – user3428736