2012-11-01 8 views
64

क्या ब्राउज़र में लोड होने पर angularjs एप्लिकेशन को डीबग करने का कोई तरीका है?

यानी। मैं अपने वर्तमान एप्लिकेशन के $rootScope प्राप्त करना चाहता हूं। मुझे यह कैसे करना है?

उत्तर

70

Batarang के लिए +1 जैसी

इसके अलावा अपने नियंत्रक को इंजेक्षन करने के लिए आप किसी से गुंजाइश प्राप्त कर सकते हैं की जरूरत है, कंसोल से निम्नलिखित निष्पादित करके डीओएम में तत्व

angular.element(DOMNODE).scope() 

जहां डोमनोडे, है पाठ्यक्रम, एक डोम नोड का संदर्भ।

उदाहरण के लिए

, क्रोम में तत्वों टैब में आप नोड जहां ng-app निर्देश है चुन सकते हैं, और डेवलपर कंसोल में

angular.element($0).scope() 
+10

+1 चुने गए div के लिए क्रोम के $ 0 के लिए +1 है। आप पहले चयनित तत्व के लिए $ 1, $ 2 का भी उपयोग कर सकते हैं। –

+1

$ 0 सफारी के वेब इंस्पेक्टर में भी काम करता है। – mikker

+6

उसी चयनकर्ता का उपयोग करके आप 'ng-app' तत्व का चयन कर सकते हैं, फिर 'var $ rootScope = angular.element ($ 0) .injector() प्राप्त करें। (' $ RootScope ') प्राप्त करें और इसके साथ खेलो। – maxdec

14

Batarang - AngularJS

के बाद आप इस स्थापित है, तो आप

console.log ($ rootScope) कर सकते हैं के लिए एक गूगल क्रोम प्लगइन;

और अपने क्रोम कंसोल में स्कोप ऑब्जेक्ट की जांच करें।

BTW, आप $ rootScope प्राप्त करना चाहते हैं, तो आप

app.controller('MainCtrl', function($scope, $rootScope) { 

} 
30

के साथ रूट गुंजाइश मिल इस

$rootScope = angular.element(document).scope() 
कोशिश
2

बस यह जोड़ना चाहता था कि "कोणीय स्कोप इंस्पेक्टर" (current store url) नामक एक निःशुल्क क्रोम एक्सटेंशन है जो स्वचालित रूप से डेवलपर टूल eleme में चयनित तत्वों का दायरा देखेगा एनटीएस टैब

मैं सिर्फ यह आज की खोज की है, और यह

3

बहुत उपयोगी है, IMO आप अपने स्रोतों डेवलपर उपकरण> सूत्रों का कहना है में $ rootScope देख सकते हैं

$rootScope

0

डेवलपर कंसोल प्रकार angular.element('body').scope(); में आपके ऐप के मामले में <body data-ng-app="SomeApp">

संबंधित मुद्दे