Come posso archiviare i dati nella memoria locale utilizzando Angularjs?

Attualmente sto utilizzando un servizio per eseguire un’azione, ovvero recuperare i dati dal server e quindi archiviare i dati sul server stesso.

Invece di questo, voglio mettere i dati nella memoria locale invece di memorizzarli sul server. Come faccio a fare questo?

questo è un po ‘del mio codice che memorizza e recupera nella memoria locale. utilizzo gli eventi broadcast per salvare e ripristinare i valori nel modello.

app.factory('userService', ['$rootScope', function ($rootScope) { var service = { model: { name: '', email: '' }, SaveState: function () { sessionStorage.userService = angular.toJson(service.model); }, RestoreState: function () { service.model = angular.fromJson(sessionStorage.userService); } } $rootScope.$on("savestate", service.SaveState); $rootScope.$on("restorestate", service.RestoreState); return service; }]); 

Se si usa $window.localStorage.setItem(key,value) per memorizzare, $window.localStorage.getItem(key) per recuperare e $window.localStorage.removeItem(key) per rimuoverlo, quindi è ansible accedere ai valori in qualsiasi pagina .

Devi passare il servizio $window al controller. Sebbene in JavaScript, l’object window è disponibile a livello globale.

Usando $window.localStorage.xxXX() l’utente ha il controllo sul valore localStorage . La dimensione dei dati dipende dal browser. Se si utilizza $localStorage valore rimane finché si utilizza window.https://stackoverflow.com/questions/18247130/how-do-i-store-data-in-local-storage-using-angularjs/location.href per spostarsi su un’altra pagina e se si utilizza per spostarsi su un’altra pagina, quindi il valore $localStorage è perso nella pagina successiva.

Per l’archiviazione locale c’è un modulo per quello sguardo sotto l’url:

https://github.com/grevory/angular-local-storage

e altro link per l’archiviazione locale HTML5 e angularJs

http://www.amitavroy.com/justread/content/articles/html5-local-storage-with-angular-js/

Utilizzare ngStorage per tutte le esigenze di archiviazione locale di AngularJS. Si prega di notare che questa NON è una parte nativa del framework Angular JS.

ngStorage contiene due servizi: $ localStorage e $ sessionStorage.

 angular.module('app', [ 'ngStorage' ]).controller('Ctrl', function( $scope, $localStorage, $sessionStorage ){}); 

Controlla la demo

C’è un altro modulo alternativo che ha più attività di ngStorage

angular-locale-storage:

https://github.com/grevory/angular-local-storage

A seconda delle esigenze, ad esempio se si desidera consentire la scadenza dei dati o impostare limitazioni sul numero di record da archiviare, è anche ansible consultare https://github.com/jmdobry/angular-cache che consente di definire se la cache si trova in memoria, localStorage o sessionStorage.

Ho creato (ancora un altro) servizio di archiviazione html5 angular. Volevo mantenere gli aggiornamenti automatici resi possibili da ngStorage, ma rendere i cicli di digest più prevedibili / intuitivi (almeno per me), aggiungere eventi da gestire quando sono necessari ricarichi di stato e aggiungere storage di sessione di condivisione tra le tabs. Ho modellato l’API dopo $ resource e l’ho chiamato angular-stored-object. Può essere usato come segue:

  angular .module('auth', ['yaacovCR.storedObject']); angular .module('auth') .factory('session', session); function session(ycr$StoredObject) { return new ycr$StoredObject('session'); } 

API: http://yaacovcr.github.io/angular-stored-object/docs/#/api

Repo: https://github.com/yaacovCR/angular-stored-object

Spero che aiuti qualcuno!

È ansible utilizzare localStorage per lo scopo.

passi:

 add ngStorage.min.js in your file add ngStorage dependency in your module add $localStorage module in your controller use $localStorage.key = value 

Uno dovrebbe usare uno script di terze parti per questo chiamato chiamato ngStorage qui è un esempio di come utilizzare. Aggiorna localstorage con la modifica in ambito / vista.