मैं वर्तमान में आलसी लोड सामग्री + नियंत्रकों के साथ कुछ कोड पर काम कर रहा हूं। मेरा कोड मूल रूप से this fiddle जैसा काम करता है। हालांकि, किसी कारण से, मेरा संस्करण काम नहीं करता है, और इसके बजाय मुझे an infinite digest cycle मिलता है जब भी कोणीय इसके दृश्य को अपडेट करने का प्रयास करता है।कोणीय के पाचन चक्र को डीबग करना: अनंत लूप का कारण कैसे ढूंढें?
मुद्दा गायब हो जाता है जब मैं इस सरल दोहराने बयान से ng-include
निकालें:
<div class="container" ng-repeat="pageName in pageNames">
<div ng-include="pageName"></div>
</div>
अजीब हिस्सा: exact same error
होता है, भले ही pageNames
दायरे करने के लिए सौंपा कभी नहीं किया गया है। दोनों स्कॉप्स (बाहरी और आंतरिक नियंत्रक का दायरा - मेरे पास प्रत्येक है) पूरी तरह खाली हो सकता है (मैंने बटरंग के साथ जांच की - मेरे पास केवल दो खाली स्कॉप्स हैं), और मुझे अभी भी त्रुटि मिलती है।
मेरा कोड बहुत अधिक निर्भरता के साथ बहुत अधिक शामिल है, इसलिए इसे यहां पोस्ट करना कोई समझ नहीं आता है। यह सबसे शुद्ध संस्करण ऊपर की पहेली है। मुझे दोनों के बीच तर्क में कोई अंतर नहीं मिल रहा है। जब मैं Batarang के साथ अपने कार्यक्षेत्र का निरीक्षण किया, मैं कुछ भी देख पा रहे हैं नहीं संदिग्ध या तो:
- मैं अपने कार्यक्षेत्र में कार्य उपयोग नहीं कर रहा
- मैं
$watch
- का इस्तेमाल करते हैं नहीं था कि मैं का उपयोग करना नहीं था
ng-model
मैं निष्कर्ष निकालता हूं कि मैं स्पष्ट रूप से कुछ भी नहीं बदल रहा हूं, इसलिए यह कोणीय के हुड के नीचे कुछ होना चाहिए।
क्या मैं किसी भी तरह से मुझे यह बताने के लिए कोणीय या बटरंग प्राप्त कर सकता हूं कि पाचन पुनरावृत्ति के बाद कौन सा गुंजाइश चर बदल गया है, तो मैं अनंत लूप के कारण अपराधी की पहचान कर सकता हूं?
अद्यतन:
मैं अंत में है कि history.pushState
भोजनालयों सब कुछ पता लगा। अब मैं $location
सेवा जैसे विकल्पों में देख रहा हूं। फिर भी, मैं अभी भी जानना चाहूंगा कि इस तरह के मुद्दे को सामान्य रूप से कैसे डिबग करना है। कोई संकेत?
क्या कोई कारण है कि आप अपने देव पर्यावरण में कोणीय के एक अपूर्ण संस्करण का उपयोग नहीं कर सकते हैं और बस इसके पाचन() फ़ंक्शन में ब्रेकपॉइंट सेट कर सकते हैं? – Fordio
DevTools सेट पकड़ा अपवाद सहित सभी अपवाद हैं, पर तोड़ने के लिए। आप, minified कोड के साथ फंस रहे हैं या तो minification या सुंदर प्रिंट जावास्क्रिप्ट को हटा दें। – ivarni