variable funciones funcionalidades entre directivas controladores comunicacion angularjs

angularjs - funciones - rootscope angular js



¿Cómo almaceno datos en el almacenamiento local usando Angularjs? (9)

Dependiendo de sus necesidades, por ejemplo, si desea permitir que los datos caduquen o establecer limitaciones sobre cuántos registros almacenar, también puede consultar https://github.com/jmdobry/angular-cache que le permite definir si la memoria caché se encuentra en la memoria, localStorage o sessionStorage.

Actualmente estoy usando un servicio para realizar una acción, es decir, recuperar datos del servidor y luego almacenar los datos en el servidor.

En lugar de esto, quiero poner los datos en el almacenamiento local en lugar de almacenarlos en el servidor. ¿Cómo hago esto?


Fui autor (otro más) del servicio de almacenamiento angular html5. Quería mantener las actualizaciones automáticas hechas posibles por ngStorage, pero hacer que los ciclos de resumen sean más predecibles / intuitivos (al menos para mí), agregar eventos para manejar cuando se requieran recargas de estado y también agregar el almacenamiento de la sesión compartida entre pestañas. Modelé la API después de $ resource y la llamé angular-stored-object. Se puede usar de la siguiente manera:

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

Espero que ayude a alguien!




Puede usar localStorage para este propósito.

Pasos:

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


Si usa $window.localStorage.setItem(key,value) para almacenar, $window.localStorage.getItem(key) para recuperar y $window.localStorage.removeItem(key) para eliminar, entonces puede acceder a los valores en cualquier página .

Debe pasar el servicio $window al controlador. Aunque en JavaScript, el objeto window está disponible globalmente.

Al usar $window.localStorage.xxXX() el usuario tiene control sobre el valor localStorage . El tamaño de los datos depende del navegador. Si solo usa $localStorage , el valor permanece siempre que use window.location.href para navegar a otra página y si usa <a href="location"></a> para navegar a otra página, entonces su valor $localStorage se pierde en la página siguiente.


Uno debe usar un script de terceros para este llamado llamado ngStorage. Aquí hay un ejemplo de cómo usarlo. Actualiza el almacenamiento local con cambios en el alcance / vista.

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <!-- CDN Link --> <!--https://cdnjs.cloudflare.com/ajax/libs/ngStorage/0.3.6/ngStorage.min.js--> <script src="angular.min.js"></script> <script src="ngStorage.min.js"></script> <script> var app = angular.module(''app'', [''ngStorage'']); app.factory("myfactory", function() { return { data: ["ram", "shyam"] }; }) app.controller(''Ctrl'', function($scope, $localStorage, $sessionStorage, myfactory) { $scope.abcd = $localStorage; //Pass $localStorage (or $sessionStorage) by reference to a hook under $scope // Delete from Local Storage //delete $scope.abcd.counter; // delete $localStorage.counter; // $localStorage.$reset(); // clear the localstorage /* $localStorage.$reset({ counter: 42 // reset with default value });*/ // $scope.abcd.mydata=myfactory.data; }); </script> </head> <body ng-app="app" ng-controller="Ctrl"> <button ng-click="abcd.counter = abcd.counter + 1">{{abcd.counter}}</button> </body> </html>


Use ngStorage para todas sus necesidades de almacenamiento local AngularJS. Tenga en cuenta que esta NO es una parte nativa del marco Angular JS.

ngStorage contiene dos servicios: $ localStorage y $ sessionStorage.

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

Verifica la Demo


esto es un poco de mi código que almacena y recupera en el almacenamiento local. utilizo eventos de difusión para guardar y restaurar los valores en el modelo.

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; }]);