7

में पेज अनलोड लोड करना मेरे पास एक जावास्क्रिप्ट ऑब्जेक्ट है जिसे मुझे अपने कोणीय अनुप्रयोग में वैश्विक की आवश्यकता है। जब एप्लिकेशन को अनलोड किया जा रहा है (पृष्ठ रीफ्रेश या किसी अन्य परिदृश्य के कारण), तो मैं ऑब्जेक्ट को ब्राउज़र संग्रहण में जारी रखना चाहता हूं। मेरा मानना ​​है कि ऑब्जेक्ट को $ रूट में जोड़ने के लिए ऑब्जेक्ट ग्लोबल बनाने की पहली आवश्यकता पूरी होगी, लेकिन onbeforeunload ईवेंट के दौरान ऑब्जेक्ट को स्टोरेज में लिखना, रूट रूटस्कोप वैरिएबल तक पहुंच की आवश्यकता होगी। क्या कोणीय में एक पेज अनलोड ईवेंट का पता लगाना संभव है?angularjs

+0

आप की तरह https://github.com/grevory/angular-local-storage या https://github.com/gsklee/ngStorage – Vadim

उत्तर

11

यह करना चाहिए, लेकिन मैं यह भी वैश्विक राज्य के रूप में $rootScope परहेज हतोत्साहित किया जाता है सुझाव देते हैं, और आप भी एक सेवा में localStorage लपेट सकता है इतना है कि यह इंजेक्शन और परीक्षण के लिए मज़ाक उड़ाया जा सकता है।

.run([ 
    '$window', 
    '$rootScope', 
    function($window, $rootScope) { 
    $window.addEventListener('beforeunload', function() { 
     localStorage.myValue = $rootScope.myValue; 
    }); 
    } 
]); 
+0

धन्यवाद कुछ का उपयोग कर माना जाता है। और पृष्ठ लोड होने की घटना 'लोड' हो जाएगी? – user1491636

+0

@ user1491636 मुझे नहीं लगता कि आपको उस घटना का उपयोग करना चाहिए। यदि आप अपने कोणीय ऐप की शुरुआत में कुछ चलाना चाहते हैं, तो बस इसे मेरे उदाहरण में 'रन' ब्लॉक में रखें। – m59

+0

आपका समाधान समस्या का समाधान नहीं करता है, क्योंकि इसे रद्द करने पर भी इसे कॉल किया जाता है। –