जवाबों:
यह मेरे कोड का एक सा है जो स्थानीय भंडारण के लिए संग्रहीत और पुनर्प्राप्त करता है। मैं मॉडल में मूल्यों को बचाने और पुनर्स्थापित करने के लिए प्रसारण घटनाओं का उपयोग करता हूं।
app.factory('userService', ['$rootScope', function ($rootScope) {
var service = {
model: {
name: '',
email: ''
},
SaveState: function () {
sessionStorage.userService = angular.toJson(service.model);
},
RestoreState: function () {
service.model = angular.fromJson(sessionStorage.userService);
}
}
$rootScope.$on("savestate", service.SaveState);
$rootScope.$on("restorestate", service.RestoreState);
return service;
}]);
sessionStorage
≠localStorage
यदि आप $window.localStorage.setItem(key,value)
स्टोर करने, $window.localStorage.getItem(key)
पुनः प्राप्त करने और $window.localStorage.removeItem(key)
निकालने के लिए उपयोग करते हैं, तो आप किसी भी पृष्ठ में मानों को एक्सेस कर सकते हैं।
आपको $window
सेवा को नियंत्रक को पास करना होगा । हालांकि जावास्क्रिप्ट में, window
वस्तु विश्व स्तर पर उपलब्ध है।
$window.localStorage.xxXX()
उपयोगकर्ता के उपयोग से localStorage
मूल्य पर नियंत्रण होता है । डेटा का आकार ब्राउज़र पर निर्भर करता है। यदि आप केवल तभी उपयोग करते हैं $localStorage
तो मान तब तक रहता है जब तक आप अन्य पेज पर नेविगेट करने के लिए window.location.href का उपयोग करते हैं और यदि आप <a href="location"></a>
दूसरे पृष्ठ पर नेविगेट करने के लिए उपयोग करते हैं तो $localStorage
अगले पृष्ठ में आपका मान खो जाता है।
स्थानीय भंडारण के लिए url के नीचे देखने के लिए एक मॉड्यूल है:
https://github.com/grevory/angular-local-storage
और HTML5 स्थानीय भंडारण और कोणीयज के लिए अन्य लिंक
http://www.amitavroy.com/justread/content/articles/html5-local-storage-with-angular-js/
ngStorage
अपने सभी AngularJS स्थानीय भंडारण आवश्यकताओं के लिए उपयोग करें । कृपया ध्यान दें कि यह कोणीय जेएस ढांचे का मूल हिस्सा नहीं है।
ngStorage
दो सेवाएं शामिल हैं, $localStorage
और$sessionStorage
angular.module('app', [
'ngStorage'
]).controller('Ctrl', function(
$scope,
$localStorage,
$sessionStorage
){});
डेमो की जाँच करें
एक और वैकल्पिक मॉड्यूल है जिसकी तुलना में अधिक गतिविधि है ngStorage
कोणीय स्थानीय भंडारण:
आप localStorage
उद्देश्य के लिए उपयोग कर सकते हैं ।
कदम:
मैं (अभी तक एक और) कोणीय html5 भंडारण सेवा लेखक। मैं स्वचालित अपडेट को संभव बनाकर रखना चाहता था ngStorage
, लेकिन पाचन चक्र को अधिक पूर्वानुमान / सहज (कम से कम मेरे लिए) बनाते हैं, जब राज्य पुनः लोड करने की आवश्यकता होती है, तब हैंडल करने के लिए घटनाओं को जोड़ते हैं, और टैब के बीच साझा सत्र भंडारण भी जोड़ते हैं। मैंने $resource
इसके बाद एपीआई को मॉडल किया और बुलाया angular-stored-object
। इसका उपयोग इस प्रकार किया जा सकता है:
angular
.module('auth', ['yaacovCR.storedObject']);
angular
.module('auth')
.factory('session', session);
function session(ycr$StoredObject) {
return new ycr$StoredObject('session');
}
एपीआई यहाँ है ।
रेपो यहां है ।
आशा है कि यह किसी की मदद करता है!
कोणीय में डेटा स्टोर करने के लिए चरणों का पालन करें - स्थानीय भंडारण:
अपने angular.module में 'ngStorage' इंजेक्षन करें
eg: angular.module("app", [ 'ngStorage']);
$localStorage
अपने app.controller फ़ंक्शन में जोड़ें4. आप $localStorage
अपने नियंत्रक के अंदर उपयोग कर सकते हैं
Eg: $localstorage.login= true;
ऊपर आपके ब्राउज़र एप्लिकेशन में स्थानीय स्टोर संग्रहीत करेगा
अपनी आवश्यकताओं के आधार पर, जैसे यदि आप डेटा को अंततः कितने स्टोर करने के रिकॉर्ड की सीमा समाप्त करने या सेट करने की अनुमति देना चाहते हैं, तो आप https://github.com/jmdobry/angular-cache पर भी देख सकते हैं जो आपको परिभाषित करने की अनुमति देता है कैश मेमोरी, लोकलस्टोरेज या सेशनस्टोरेज में बैठता है।
इसके लिए एक थर्ड पार्टी स्क्रिप्ट का उपयोग करना चाहिए जिसे ngStorage कहा जाता है यहां एक उदाहरण है कि कैसे उपयोग किया जाए। यह स्थानीय क्षेत्र को दायरे या दृश्य में परिवर्तन के साथ अपडेट करता है।
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<!-- CDN Link -->
<!--https://cdnjs.cloudflare.com/ajax/libs/ngStorage/0.3.6/ngStorage.min.js-->
<script src="angular.min.js"></script>
<script src="ngStorage.min.js"></script>
<script>
var app = angular.module('app', ['ngStorage']);
app.factory("myfactory", function() {
return {
data: ["ram", "shyam"]
};
})
app.controller('Ctrl', function($scope, $localStorage, $sessionStorage, myfactory) {
$scope.abcd = $localStorage; //Pass $localStorage (or $sessionStorage) by reference to a hook under $scope
// Delete from Local Storage
//delete $scope.abcd.counter;
// delete $localStorage.counter;
// $localStorage.$reset(); // clear the localstorage
/* $localStorage.$reset({
counter: 42 // reset with default value
});*/
// $scope.abcd.mydata=myfactory.data;
});
</script>
</head>
<body ng-app="app" ng-controller="Ctrl">
<button ng-click="abcd.counter = abcd.counter + 1">{{abcd.counter}}</button>
</body>
</html>