如何像Session一样将angularJS数据存储到本地存储?

5rgfhyps  于 2023-05-05  发布在  Angular
关注(0)|答案(3)|浏览(149)

如何将angularJS变量数据存储到本地临时存储中,以便在服务器端作为会话使用。
AngularJS源代码

var pApp = angular.module('ProfileIndex', []);
pApp.controller('ProfileIndexCtrl', function($scope, $http, $cacheFactory) {
  $scope.data = "MVVM";
});

如何将MVVM值保存到本地存储?以及如何从本地存储中检索值?

66bbxpm5

66bbxpm51#

只需使用web storage API

// set "data" to "MVVM"
$window.localStorage.setItem('data', 'MVVM');

// get "data"
$window.localStorage.getItem('data');
thtygnil

thtygnil2#

使用工厂:

.factory('$localstorage', ['$window', function($window) {
  return {
    set: function(key, value) {
      $window.localStorage[key] = value;
    },
    remove: function(key) {
      $window.localStorage.removeItem(key);
    },
    get: function(key, defaultValue) {
      return $window.localStorage[key] || defaultValue;
    },
    setObject: function(key, value) {
      $window.localStorage[key] = JSON.stringify(value);
    },
    getObject: function(key) {
      return JSON.parse($window.localStorage[key] || '{}');
    },
    clearAll: function() {
      $window.localStorage.clear();
    }
  }
}])
axzmvihb

axzmvihb3#

与其使用web storage api,不如使用Angular 存储ngStorage
使用Web存储和Angular 存储是不同的,特别是当你想将对象存储到你的存储中时。
对于Web存储,您需要在将数据保存到Web存储之前序列化对象,然后需要取消序列化以获取数据。
例如:
商店-localStorage.setItem('saveData', JSON.stringify(myObj));
获取-JSON.parse(localStorage.getItem('saveData'));
对于Angular 存储,您可以简单地将数据存储在ngStorage中。
例如:
商店-$localStorage.obj = myObj;
示例对象:
var myObj = {'firstname': 'john', 'secondname': 'cena'}
有关ngStorage的更多信息,请参阅此链接ngStorage

相关问题