how to debug the $rootScope object of angularjs in the browser

JavascriptAngularjs

Javascript Problem Overview


Is there a way of debugging the angularjs application when it is loaded in the browser?

ie. I wish to get the $rootScope of my current application. How would I do that?

Javascript Solutions


Solution 1 - Javascript

+1 for Batarang

Also, you can get the scope from any element in the DOM by executing the following from the console

angular.element(DOMNODE).scope()

Where DOMNODE, is of course, a reference to a DOM node.

For example, in Chrome in the elements tab you can select the node where the ng-app directive is, and get the root scope with

angular.element($0).scope()

Solution 2 - Javascript

In the developer console try this

$rootScope = angular.element(document).scope()

Solution 3 - Javascript

Batarang -- A Google Chrome plugin for AngularJS

After you installed this, you can do

console.log($rootScope);

and check the scope object in your chrome console.

BTW, if you want to get $rootScope, you need to inject to your controller

like

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

}

Solution 4 - Javascript

In developer console type angular.element('body').scope(); in case of your app is <body data-ng-app="SomeApp">

Solution 5 - Javascript

For those using $compileProvider.debugInfoEnabled(false); and ng-strict-di just paste this in the console and $rootScope will be logged and added to window:

function getRootScope($rootScope){ console.log(window.$rootScope = $rootScope); }
getRootScope.$inject = ["$rootScope"];
angular.element(document.querySelector('[data-ng-app],[ng-app]')).injector().invoke(getRootScope);

Solution 6 - Javascript

You can see the $rootScope in your sources Developer Tools->Sources

$rootScope

Solution 7 - Javascript

Just wanted to add that there is a free Chrome Extension called "Angular Scope Inspector" (current store url) that will automatically inspect scope of selected elements in the developer tools elements tab

I just discovered it today, and it's very useful, IMO

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionzcaudateView Question on Stackoverflow
Solution 1 - JavascriptjaimeView Answer on Stackoverflow
Solution 2 - JavascriptmozeyView Answer on Stackoverflow
Solution 3 - JavascriptmaxisamView Answer on Stackoverflow
Solution 4 - Javascriptraghavsood33View Answer on Stackoverflow
Solution 5 - JavascriptDimitar NestorovView Answer on Stackoverflow
Solution 6 - JavascriptDivya MVView Answer on Stackoverflow
Solution 7 - JavascriptRandolphoView Answer on Stackoverflow