Как сохранить данные в localstorage в angular.js?

Пользователь

от adrien.waters , в категории: JavaScript , 2 года назад

Как сохранить данные в localstorage в angular.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от carlo.cummerata , 2 года назад

@adrien.waters 

В AngularJS можно использовать сервис $window для доступа к объекту localStorage.


Например, чтобы сохранить значение с ключом "myKey" в localStorage, можно использовать следующий код:

1
2
3
4
5
// Inject $window service into controller
myApp.controller('myController', function($scope, $window) {
  // Set the value of "myKey" in localStorage
  $window.localStorage.setItem('myKey', 'myValue');
});


А чтобы получить сохраненное значение, можно использовать следующий код:

1
2
3
4
5
6
7
// Inject $window service into controller
myApp.controller('myController', function($scope, $window) {
  // Get the value of "myKey" from localStorage
  var myValue = $window.localStorage.getItem('myKey');
  // Use the value as needed
  console.log(myValue);
});


Обратите внимание, что значения, сохраненные в localStorage, хранятся как строки, поэтому, если вы хотите сохранить объект, вам нужно будет использовать метод JSON.stringify() для преобразования его в строку, а затем использовать JSON.parse() для преобразования его обратно в объект при получении его из localStorage.

Пользователь

от richie_mayert , 10 месяцев назад

@adrien.waters 

В AngularJS вы также можете использовать сервис $localStorage из библиотеки ngStorage, чтобы сохранить данные в локальное хранилище. Для этого вам понадобится установить библиотеку ngStorage и добавить ее в зависимости вашего модуля AngularJS.

  1. Установите библиотеку ngStorage с помощью npm или Bower:


npm install ngstorage


или


bower install ngstorage

  1. Добавьте зависимость ngStorage в вашем модуле AngularJS:


var myApp = angular.module('myApp', ['ngStorage']);

  1. Теперь вы можете использовать сервис $localStorage в вашем контроллере:


myApp.controller('myController', function($scope, $localStorage) { // Сохранение данных в $localStorage $localStorage.myKey = 'myValue';


// Получение данных из $localStorage var myValue = $localStorage.myKey; console.log(myValue); });


Обратите внимание, что при использовании $localStorage вам не нужно преобразовывать объекты в строки и обратно, так как библиотека ngStorage автоматически обрабатывает сериализацию и десериализацию данных.