如何像Session一样将angularJS数据存入本地Storage?

How to Store angularJS data into local Storage as like Session?

如何将 angularJS 变量数据存储到本地临时存储中,以便像服务器端会话一样进一步使用。

AngularJS源代码是

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

    $scope.data = "MVVM";

});

如何在本地存储中存储 MVVM 值?以及如何从本地存储中检索值?

只需使用 web storage API

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

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

使用工厂:

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

而不是使用 web storage api, is better you use angular storage ngStorage

使用网络存储和 angular 存储之间存在差异,尤其是当您要将对象存储到存储中时。

对于网络存储,您需要在将数据保存到网络存储之前序列化您的对象,然后您需要反序列化以获取数据。

例如:

商店- localStorage.setItem('saveData', JSON.stringify(myObj));

得到- JSON.parse(localStorage.getItem('saveData'));

对于 angular 存储,您可以简单地将数据存储在 ngStorage 中。

例如:

商店- $localStorage.obj = myObj;

示例对象:

var myObj = {'firstname': 'john', 'secondname': 'cena'}

有关 ngStorage 的更多信息,您可以查看此 link ngStorage