मैं जावास्क्रिप्ट नोब हूं और कोणीय सीखने की कोशिश कर रहा हूं।AngularJS में प्रकार रूपांतरण त्रुटियों को डीबग कैसे करें?
मैं इस तरह कुछ सरल AngularJS कोड है:
<div ng-controller="todoController">
<span> temp = {{tempVal()}} </span>
</div>
बग पर्याप्त आसान है, tempVal एक स्ट्रिंग, नहीं एक विधि है।
मेरी समस्या (और प्रश्न) है, मैं डिबगिंग करते समय इस तथ्य को कैसे खोजूं?
मैं क्रोम का उपयोग कर रहा हूँ और Batarang एक्सटेंशन स्थापित किया है, लेकिन सभी मैं एक गुप्त स्टैक ट्रेस है:
TypeError: string is not a function
at http://localhost:6202/lib/angular-1.0.4/angular.js:6213:13
at Object.$interpolate.fn (http://localhost:6202/lib/angular-1.0.4/angular.js:4829:22)
at Object.watchExpression (http://localhost:6202/AddSomeControl/index.html:416:29)
at Object.Scope.$digest (http://localhost:6202/lib/angular-1.0.4/angular.js:7783:38)
at Object.Scope.$apply (http://localhost:6202/lib/angular-1.0.4/angular.js:7991:24)
at Object.$delegate.__proto__.$apply (http://localhost:6202/AddSomeControl/index.html:500:30)
at http://localhost:6202/lib/angular-1.0.4/angular.js:932:13
at Object.invoke (http://localhost:6202/lib/angular-1.0.4/angular.js:2813:25)
at bootstrap (http://localhost:6202/lib/angular-1.0.4/angular.js:930:12)
at angularInit (http://localhost:6202/lib/angular-1.0.4/angular.js:906:5) angular.js:5601
मैं एक परिसर में इन उपकरणों का उपयोग कैसे पता लगाने की कोशिश अटक कर रहा हूँ, एप्लिकेशन, मुझे पता चला कि त्रुटि कहीं भी tempVal() लाइन के आसपास है।
मैंने त्रुटि को लॉग ऑन करते समय ब्रेक पॉइंट सेट करने की कोशिश की और कॉलस्टैक को देखा, और $ get में पकड़ा गया अपवाद देखें। $। पाचन जो मुझे शायद माता-पिता स्कोप आईडी (this.target) बता सकता है। $ आईडी), "वॉचर" (यह। लम्बाई) के साथ यह क्रैश हो गया है, और पिछले पूर्ण HTML तत्व (this.value) .... क्या यह सबसे अच्छा तरीका है? क्या एक दर्द :(
http://blog.angularjs.org/2012/07/introducing-angularjs-batarang.html पर वीडियो देखें। यह बहुत अच्छी तरह से बताता है कि कैसे एंगुलर डीबग करने के लिए, कम से कम मैं अभी भी जावास्क्रिप्ट शुरुआती होने के बावजूद सभी सामान को ठीक करने में सक्षम हूं। – stiebitzhofer
हाँ मैंने देखा कि यह सामान्य डीबगिंग के लिए अच्छा है, लेकिन दुर्भाग्य से यह डी जो मैं वर्णन कर रहा हूं उसकी तरह परिस्थितियों को संभाल नहीं सकता। मूल रूप से, कोणीय में अच्छी डीबग त्रुटि रिपोर्टिंग नहीं होती है (बटरंग त्रुटि रिपोर्टिंग के लिए नहीं है, यह टेम्पलेट/राज्य निरीक्षण के लिए है) – JasonS
मैं कंसोल पर फ़ंक्शन tempVal की जांच करेगा (वीडियो में दिखाए गए दायरे को चुनने के बाद) । लेकिन अगर आप यहां फ़ंक्शन का कोड पोस्ट करते हैं तो शायद मैं आपकी मदद कर सकता हूं। – stiebitzhofer