在瀏覽器中加載時,有沒有一種方法可以調試angularjs應用程序?
即。我希望獲得當前應用程序的$rootScope
。我會怎麼做?
在瀏覽器中加載時,有沒有一種方法可以調試angularjs應用程序?
即。我希望獲得當前應用程序的$rootScope
。我會怎麼做?
+1 Batarang
此外,您還可以從任何獲取範圍通過從控制檯執行以下操作,在DOM中執行以下操作:
angular.element(DOMNODE).scope()
其中DOMNODE當然,對DOM節點的引用。
例如,在Chrome中元素選項卡,你可以選擇其中ng-app
指令是節點,得到與
angular.element($0).scope()
Batarang - 谷歌瀏覽器插件AngularJS
你安裝了這個之後,你可以做
的console.log($ rootScope);
並在您的chrome控制檯中檢查作用域對象。
順便說一句,如果你想獲得$ rootScope,你需要注入到控制器
像
app.controller('MainCtrl', function($scope, $rootScope) {
}
根範圍內開發者控制檯試試這個
$rootScope = angular.element(document).scope()
只是想補充說,有一個名爲「Angular Scope Inspector」的免費Chrome擴展(current store url),它將自動檢查開發人員工具中所選元素的範圍。 NTS標籤
我今天才發現了它,這是非常有用的,IMO
你可以看到$ rootScope在你的源代碼開發工具 - >來源
在開發者控制檯類型angular.element('body').scope();
如果你的應用程序是<body data-ng-app="SomeApp">
+1對於所選div的chrome $ 0。您也可以使用$ 1,$ 2作爲之前選定的元素。 –
$ 0也適用於Safari的WebInspector。 – mikker
使用相同的選擇器,您可以選擇'ng-app'元素,然後執行'var $ rootScope = angular.element($ 0).injector()。get('$ rootScope')'並使用它。 – maxdec