meaning - angularjs tutorial pdf




कोण से इंजेक्टर को पुनः प्राप्त नहीं किया जा सकता (2)

समस्या का कोणीय कोड के निष्पादन के प्रवाह में है @ Pkozlowski.opensource के उत्तर और संबंधित टिप्पणियों को एकीकृत करने के लिए, ध्यान दें कि मॉड्यूल कोड निष्पादित किए जाने के बाद $injector INjector संपत्ति को DOM तत्वों के लिए उपलब्ध कराया जाता है, ताकि जब आप संपत्ति का उपयोग करें (जैसा कि आप console.log कोशिश करते हैं) संपत्ति अभी भी undefined होगी।

आप बस लॉगिंग फ़ंक्शन के निष्पादन के लिए 0 समयबाह्य सेट करके इस समस्या को हल कर सकते हैं (यानी, मिलीसेकेंड में कोई स्पष्ट देरी की आवश्यकता नहीं है)। यह हैक काम करता है क्योंकि लॉगिंग फ़ंक्शन निष्पादित होगा जब स्टैक खाली है, तब वह होगा जब कांच का बूटस्ट्रैपिंग समाप्त हो गया और $injector संपत्ति DOM तत्वों के लिए उपलब्ध है।

किसी अन्य (शायद बेहतर) अंगुलियों के शब्दों में समाधान एक रन ब्लॉक में अपने $injector पहुंचने वाला कोड शामिल करना होगा ( संबंधित एपीआई भी देखें)। $injector को सामान्य सेवा के रूप में प्रारंभिक रूप से आसानी से इंजेक्शन किया जा सकता है यह काम करता है क्योंकि रन ब्लॉक कतारबद्ध होते हैं और सभी बूटस्ट्रैप समाप्त होने पर अतुल्यकालिक निष्पादित होते हैं।

नीचे आपको दो फिडेल्स मिल सकते हैं, प्रत्येक समाधान के लिए एक

0 टाइमआउट जेएसफ़िल्ड

भागो ब्लॉक jsFiddle

संपादित करें

साथ ही, ng मॉड्यूल को स्पष्ट रूप से लोड करने की कोई ज़रूरत नहीं है। सामान्य मामलों में, ng मॉडल पहले से ही स्वचालित रूप से भरी हुई है, जब तक कि आप को का कोणीय कोड के मैनुअल बूटस्ट्रैप नहीं करना चाहते। जवाब में से एक में संदर्भित डॉक्स का टुकड़ा संदर्भ (निहित, दुर्भाग्यवश) को कोणीय की मैनुअल बूटस्ट्रैपिंग प्रक्रिया के लिए संदर्भित करता है, जब आपको मैन्युअल रूप से इंजेक्टर बना दिया है और यह बताएं कि आप किस मॉड्यूल को लोड करना चाहते हैं

मुझे दो मॉड्यूल के साथ यह ऐप मिला है:

angular.module('components', []).directive('foo', function () { return {};});
angular.module('gaad', ['components']);

इस मॉड्यूल से संबंधित निर्देशों का एक गुच्छा है, जिसमें मैं यहां शामिल नहीं हूं। आवेदन ठीक काम करता है लेकिन जब मैं मॉड्यूल gaad लिए इंजेक्टर को पुनः प्राप्त करने का प्रयास कर रहा हूं:

var injector = angular.injector(['gaad', 'components']); //called after 'gaad' module initialization

त्रुटि फेंक दी गई है:

Uncaught Error: Unknown provider: $compileProvider from components 

यह आवेदन अभी काफी बड़ा है और मुझे कोई अंदाज़ा नहीं है कि मुझे बग के लिए कहाँ दिखना चाहिए। तो मेरा सवाल है: मेरी समस्याओं का कारण क्या हो सकता है?

संपादित करें: मैं अपनी समस्या को दोहराने में सक्षम था: http://jsfiddle.net/selbh/ehmnt/11/


ऐसा प्रतीत होता है कि आपको इंजेक्टर में एनजी को भी शामिल करना होगा।

var injector = angular.injector(['ng', 'b', 'a']);

से: AngularJS: इंजेक्टर

एनजी मॉड्यूल स्पष्ट रूप से जोड़ा जाना चाहिए।





angularjs