3

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

AngularJS 源代码是

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

    $scope.data = "MVVM";

});

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

4

3 回答 3

1

只需使用网络存储 API

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

// get "data"
$window.localStorage.getItem('data');
于 2015-12-15T05:31:20.947 回答
1

使用工厂:

.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();
                           }
                           }
                           }])
于 2015-12-15T07:05:04.117 回答
0

与其使用网络存储 api,不如使用角度存储ngStorage

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

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

例如:

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

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

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

例如:

店铺-$localStorage.obj = myObj;

示例对象:

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

有关ngStorage您的更多信息,请参阅此链接ngStorage

于 2017-10-05T02:20:41.203 回答