有没有办法在浏览器中加载 angularjs 应用程序时对其进行调试?
IE。我希望得到$rootScope
我当前的应用程序。我该怎么做?
+1 巴达朗
此外,您可以通过从控制台执行以下命令从 DOM 中的任何元素获取范围
angular.element(DOMNODE).scope()
其中 DOMNODE,当然是对 DOM 节点的引用。
例如,在元素选项卡中的 Chrome 中,您可以选择ng-app
指令所在的节点,并获取根范围
angular.element($0).scope()
在开发者控制台中试试这个
$rootScope = angular.element(document).scope()
Batarang -- AngularJS 的 Google Chrome 插件
安装后,你可以这样做
控制台.log($rootScope);
并检查 chrome 控制台中的范围对象。
顺便说一句,如果你想获得 $rootScope,你需要注入你的控制器
像
app.controller('MainCtrl', function($scope, $rootScope) {
}
对于那些使用$compileProvider.debugInfoEnabled(false);
并将ng-strict-di
其粘贴到控制台中的人,$rootScope
将被记录并添加到window
:
function getRootScope($rootScope){ console.log(window.$rootScope = $rootScope); }
getRootScope.$inject = ["$rootScope"];
angular.element(document.querySelector('[data-ng-app],[ng-app]')).injector().invoke(getRootScope);
您可以在源代码开发者工具-> 源代码中看到 $rootScope
在开发者控制台类型angular.element('body').scope();
中,如果您的应用是<body data-ng-app="SomeApp">
只是想补充一下,有一个名为“Angular Scope Inspector”(当前商店网址)的免费 Chrome 扩展程序将自动检查开发人员工具元素选项卡中选定元素的范围
我今天才发现它,它非常有用,IMO