簡體   English   中英

如何將angularJS數據存儲到本地存儲中,就像會話一樣?

[英]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存儲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存儲api ,最好使用角度存儲ngStorage

使用Web存儲和角度存儲之間存在差異,尤其是當您要將對象存儲到存儲時。

對於Web存儲,您需要在將數據保存到Web存儲之前序列化對象,然后需要反序列化以獲取數據。

例如:

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

get- JSON.parse(localStorage.getItem('saveData'));

對於角度存儲,您只需將數據存儲在ngStorage中即可。

例如:

store- $localStorage.obj = myObj;

示例對象:

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

有關ngStorage更多信息,您可以看到此鏈接ngStorage

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM