sto cercando di memorizzare i dati nei miei servizi simili alla risposta in:dati servizio chiaro in AngularJs
Processing $http response in service
app.factory('myService', function($http) { var promise; var myService = { async: function() { if (!promise) { // $http returns a promise, which has a then function, which also returns a promise promise = $http.get('test.json').then(function (response) { // The then function here is an opportunity to modify the response console.log(response); // The return value gets picked up by the then in the controller. return response.data; }); } // Return the promise to the controller return promise; } }; return myService; }); app.controller('MainCtrl', function(myService,$scope) { $scope.clearData = function() { $scope.data = {}; }; $scope.getData = function() { // Call the async method and then do stuff with what is returned inside our own then function myService.async().then(function(d) { $scope.data = d; }); }; });
Tuttavia, ho notato che i dati nei miei servizi persiste anche dopo il logout . Quindi potrei accedere come utente completamente diverso e vedere i dati che non dovrei vedere.
Come posso cancellare i dati dopo il logout? Certo, potrei cancellare manualmente tutto in tutti i miei servizi, ma sto cercando un approccio più generale come "cancella tutti i dati utente". Ho provato a forzare un aggiornamento della pagina, e funziona, ma non mi piace il flash che produce.
edit: Codice dall'esempio
_how_ esattamente "simile"? (mostra il tuo codice) Se lo stai facendo bene, in realtà non dovresti comunque avere dati persistenti nel servizio. – thescientist
Puoi condividere il tuo codice di servizio? – Chandermani
Dovrei riformulare la mia domanda, con logout intendo la mia funzione di logout che rimuove solo alcuni dati utente. I servizi sono ancora istanziati e contengono le stesse cose di prima del logout. – user1354603