如何在浏览器中调试angularjs的$ rootScope对象

zca*_*ate 68 javascript angularjs

在浏览器中加载angularjs应用程序时,有没有办法调试它?

即.我希望得到$rootScope我目前的申请.我该怎么办?

jai*_*ime 73

巴塔朗+1

此外,您可以通过从控制台执行以下操作来从DOM中的任何元素获取范围

angular.element(DOMNODE).scope()
Run Code Online (Sandbox Code Playgroud)

DOMNODE当然是对DOM节点的引用.

例如,在元素选项卡中的Chrome中,您可以选择ng-app指令所在的节点,并获取根范围

angular.element($0).scope()
Run Code Online (Sandbox Code Playgroud)

  • +1对于所选div的chrome $ 0.您还可以使用$ 1,$ 2作为之前选择的元素. (10认同)
  • 使用您可以选择'NG-app`元素相同的选择然后做`变量$ rootScope = angular.element($ 0).injector()得到( '$ rootScope')`和它玩. (7认同)

moz*_*zey 43

在开发者控制台中试试这个

$rootScope = angular.element(document).scope()
Run Code Online (Sandbox Code Playgroud)


max*_*sam 15

Batarang - AngularJS的谷歌Chrome插件

安装完成后,就可以了

的console.log($ rootScope);

并检查chrome控制台中的范围对象.

顺便说一句,如果你想获得$ rootScope,你需要注入你的控制器

喜欢

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

}
Run Code Online (Sandbox Code Playgroud)


rag*_*d33 5

在开发者控制台中angular.element('body').scope();,如果您的应用程序是<body data-ng-app="SomeApp">

  • 你可以使用“[ng-app]”代替body,这样它就变得通用了 (3认同)