В настоящее время я использую службу для выполнения действия, а именно: извлекать данные с сервера и затем хранить данные на самом сервере.
Вместо этого я хочу поместить данные в локальное хранилище, а не хранить его на сервере. Как это сделать?
В настоящее время я использую службу для выполнения действия, а именно: извлекать данные с сервера и затем хранить данные на самом сервере.
Вместо этого я хочу поместить данные в локальное хранилище, а не хранить его на сервере. Как это сделать?
это немного моего кода, который хранит и возвращает в локальное хранилище. Я использую широковещательные события для сохранения и восстановления значений в модели.
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;
}]);
 Если вы используете $window.localStorage.setItem(key,value) для хранения, $window.localStorage.getItem(key) для извлечения и $window.localStorage.removeItem(key) для удаления, тогда вы можете получить доступ к значениям на любой странице.,
 Вы должны передать сервис $window контроллеру. Хотя в JavaScript объект window доступен глобально.
 Используя $window.localStorage.xxXX() пользователь может контролировать значение localStorage. Размер данных зависит от браузера. Если вы используете только $localStorage то значение остается тем же, пока вы используете window.location.href для перехода на другую страницу, и если вы используете <a href="location"></a> для перехода на другую страницу, тогда ваше значение $localStorage потерян на следующей странице.
Для локального хранилища есть модуль для просмотра ниже url:
https://github.com/grevory/angular-local-storage
и другая ссылка для локального хранилища HTML5 и angularJs
http://www.amitavroy.com/justread/content/articles/html5-local-storage-with-angular-js/
 Используйте ngStorage для всех ваших потребностей в локальном хранилище AngularJS. Обратите внимание, что это НЕ является родной частью платформы Angular JS.
 ngStorage содержит две службы, $localStorage и $sessionStorage
angular.module('app', [
   'ngStorage'
]).controller('Ctrl', function(
    $scope,
    $localStorage,
    $sessionStorage
){});
Проверьте демо
Существует еще один альтернативный модуль, который имеет больше активности, чем ngStorage
angular -local-хранения:
 Вы можете использовать localStorage для этой цели.
шаги:
В зависимости от ваших потребностей, например, если вы хотите, чтобы данные в конечном итоге истекали или устанавливали ограничения на количество записей для хранения, вы также можете посмотреть https://github.com/jmdobry/angular-cache, который позволяет определить, находится ли кеш в памяти, localStorage или sessionStorage.
 Я создал (еще один) угловой сервис хранения html5. Я хотел, чтобы автоматические обновления стали возможными благодаря ngStorage, но сделал циклы дайджеста более предсказуемыми/интуитивно понятными (по крайней мере, для меня), добавил события для обработки, когда требуется перезагрузка состояний, а также добавил общий доступ к хранилищу сеансов между вкладками. Я смоделировал API после $resource и назвал его angular-stored-object. Может использоваться следующим образом:
  angular
    .module('auth', ['yaacovCR.storedObject']);
  angular
    .module('auth')
    .factory('session', session);
  function session(ycr$StoredObject) {
    return new ycr$StoredObject('session');
  }
API здесь.
Репо здесь.
Надеюсь, это кому-нибудь поможет!
Нужно использовать сторонний скрипт для этого, который называется ngStorage. Вот пример использования. Он обновляет localalstorage с изменением области действия/представления.
    <!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>
Выполните шаги для хранения данных в Angular - локальное хранилище:
Введите ngStorage в свой angular.module
    eg: angular.module("app", [ 'ngStorage']);
$localStorage в функцию app.controller 4.Вы можете использовать $localStorage внутри вашего контроллера
Eg: $localstorage.login= true;
Выше будет хранить локальное хранилище в вашем приложении браузера