मुझे क्लाइंट-साइड डेटा संग्रहित करने में समस्या है, और मैं यह तय नहीं कर सकता कि कौन सा तरीका बेहतर है। अब मैं AngularJS के कैश फैक्टरी का उपयोग कर रहा हूं, यह ठीक काम करता है, लेकिन सभी डेटा एक नए सत्र के साथ पुनः लोड हो जाता है। क्या इसके बजाय स्थानीय भंडारण का उपयोग करना उचित है?
उत्तर
यदि आपका लक्ष्य क्लाइंट-साइड और लगातार डेटा स्टोर करना है, तो आप $cacheFactory का उपयोग नहीं कर सकते हैं, जो वर्तमान सत्र के लिए डेटा को कैश करता है।
एक समाधान नई स्थानीय स्टोरेज एपीआई का उपयोग करना है। This awesome Angular module आपके लिए सभी गंदे काम करता है, और यहां तक कि पुरानी ब्राउज़रों के लिए कुकीज़ पर भी वापस आ जाता है!
क्या यह स्टोर ऑब्जेक्ट्स है? – Rasalom
नहीं, आपको स्टोर करने से पहले अपनी ऑब्जेक्ट्स को क्रमबद्ध करना चाहिए (और उन्हें पढ़ने के लिए अनसुलझा), आमतौर पर JSON में। लेकिन ऑब्जेक्ट्स को सीधे स्टोर करने के लिए बहुत सारी इंद्रियां नहीं होती हैं, क्योंकि सभी लगातार स्टोरेज फाइलों का उपयोग करना अनिवार्य है, और इसलिए रैखिक डेटा। – Blackhole
बहुत बहुत धन्यवाद :) – Rasalom
एक वैकल्पिक समाधान http://jmdobry.github.io/angular-cache/ है जो ngResource के साथ अच्छी तरह से काम करता है और आसानी से स्थानीय स्टोरेज को सिंक करने के लिए कॉन्फ़िगर किया जा सकता है, इसलिए पेज रीफ्रेश के बाद अनुरोधों को फिर से करने की आवश्यकता नहीं है।
$resource('my/kewl/url/:key', { key: '@key' }, {
'get': { method: 'GET',
cache: $angularCacheFactory('MyKewlResourceCache', {
storageMode: 'localStorage' })
}
});
मुझे लगता है कि यह स्वीकार किए गए उत्तर से समाधान से अधिक शक्तिशाली है। $ संसाधन के बारे में धन्यवाद इसे अपनी आधिकारिक वेबसाइट –
$ cacheFactory, स्पष्ट रूप से नहीं होने के लिए अपने समाधान लगता है क्योंकि के रूप में ब्लैकहोल कहा, कैश हर बार सत्र समाप्त हो साफ हो जाएगा। $ cacheFactory सिर्फ एक memcache कार्यान्वयन कोणीय तरीका है।
कोणीय-कैश सिर्फ एक सहायक एपीआई है, मूल रूप से यह $ cacheFactory के विकल्प को जोड़ता है और इस विकल्प में से एक को लगातार भंडारण (जैसे स्थानीय स्टोरेज) में कैश स्टोर करना है।
तो अगर आप लगातार भंडारण में डेटा स्टोर करना चाहते हैं आप की तरह उपलब्ध मॉड्यूल के उपयोग से एक का उपयोग कर सकते हैं angular-local-storage या $cookieStore का उपयोग, लेकिन यह एक और कोणीय मॉड्यूल है कि काम करता है कुकीज़ पैदा करेगा ...
में फिर से नहीं देखता है, $ cacheFactory वर्तमान सत्र के लिए डेटा कैश नहीं करता है, यह स्मृति में डेटा को कैश करता है, इसलिए केवल जब तक आपका कोणीय अनुप्रयोग जीवित रहता है। एक पृष्ठ ताज़ा करें, उदाहरण के लिए, इसे मारता है। @ user3305685 क्या आप इसे भ्रामक लोगों से बचने के लिए अपडेट कर सकते हैं? – tsemer
- 1. स्थानीय स्टोरेज बनाम सत्र स्टोरेज बनाम कुकीज़
- 2. स्थानीय स्टोरेज बनाम डेटाबेस (SQLite) कोर्डोवा ऐप
- 3. स्थानीय स्टोरेज
- 4. स्थानीय स्टोरेज
- 5. स्थानीय स्टोरेज
- 6. स्थानीय स्टोरेज
- 7. स्थानीय स्टोरेज
- 8. स्थानीय स्टोरेज
- 9. $ window.session स्टोरेज बनाम $ कुकीस्टोर
- 10. फोनगैप में स्थानीय स्टोरेज पर सत्र स्टोरेज
- 11. Greasemonkey में स्थानीय स्टोरेज
- 12. PHP और स्थानीय स्टोरेज;
- 13. एचटीएमएल 5 स्थानीय स्टोरेज
- 14. सभी स्थानीय स्टोरेज आइटम
- 15. स्थानीय स्टोरेज डेटा को हटाकर
- 16. फ़ायरफ़ॉक्स में अविश्वसनीय स्थानीय स्टोरेज
- 17. थ्रेड स्थानीय स्टोरेज मेमोरी उपयोग
- 18. फ़ायरफ़ॉक्स एक्सटेंशन में स्थानीय स्टोरेज
- 19. जावास्क्रिप्ट + एचटीएमएल 5 स्थानीय स्टोरेज
- 20. क्रोम एक्सटेंशन: background.js स्थानीय स्टोरेज
- 21. स्थानीय स्टोरेज की गति/लागत
- 22. आईओएस फोनगैप ऐप स्थानीय स्टोरेज
- 23. एचटीएमएल 5 स्थानीय स्टोरेज मूल्य
- 24. एचटीएमएल 5 स्थानीय स्टोरेज सुरक्षा
- 25. जावास्क्रिप्ट स्थानीय स्टोरेज और डोमेन
- 26. AngularJS
- 27. AngularJS
- 28. आईओएस सफारी निजी ब्राउज़िंग स्थानीय स्टोरेज और सत्र स्टोरेज समर्थन?
- 29. एंड्रॉइड डेटा स्टोरेज - फ़ाइल बनाम SQLite
- 30. लार्वा फ़ाइल बनाम स्टोरेज मुखौटा
हैलो आप वेबस्टोरेज का उपयोग कर सकते हैं तो आप एक कारखाने के साथ डेटा ला सकते हैं, http://www.w3schools.com/html/html5_webstorage.asp – schwertfisch
हाँ स्थानीय स्टोरेज आपको सत्र की देखभाल किए बिना डेटा स्टोर करने देता है। मैं सर्वर के बजाय क्लाउड में डेटा सहेजने के लिए https://parse.com/ को देखने की भी सिफारिश करूंगा। – Rohit
मैं https://github.com/gsklee/ngStorage द एंगुलर-वे: नो गेटटर 'एन' सेटर बुलशिट के साथ जा रहा हूं! – mb21