development

브라우저에서 angularjs의 $ rootScope 객체를 디버깅하는 방법

big-blog 2020. 11. 7. 10:45
반응형

브라우저에서 angularjs의 $ rootScope 객체를 디버깅하는 방법


angularjs 애플리케이션이 브라우저에로드 될 때 디버깅하는 방법이 있습니까?

즉. $rootScope현재 지원서 를 받고 싶습니다 . 어떻게할까요?


Batarang의 경우 +1

또한 콘솔에서 다음을 실행하여 DOM의 모든 요소에서 범위를 가져올 수 있습니다.

angular.element(DOMNODE).scope()

DOMNODE는 물론 DOM 노드에 대한 참조입니다.

예를 들어 Chrome의 요소 탭에서 ng-app지시문이 있는 노드를 선택 하고 다음을 사용하여 루트 범위를 가져올 수 있습니다.

angular.element($0).scope()

개발자 콘솔에서 이것을 시도하십시오

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

Batarang -AngularJS 용 Google 크롬 플러그인

이것을 설치 한 후 할 수 있습니다.

console.log ($ rootScope);

크롬 콘솔에서 범위 개체를 확인하십시오.

BTW, $ rootScope를 얻으려면 컨트롤러에 주입해야합니다.

처럼

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

}

소스 개발자 도구-> 소스에서 $ rootScope를 볼 수 있습니다.

$ rootScope


개발자 도구 요소 탭에서 선택한 요소의 범위를 자동으로 검사하는 "Angular Scope Inspector"( 현재 상점 URL ) 라는 무료 Chrome 확장 프로그램이 있다는 것을 추가하고 싶었습니다.

오늘 방금 발견했는데 매우 유용합니다. IMO


angular.element('body').scope();앱의 경우 개발자 콘솔 유형 에서<body data-ng-app="SomeApp">


이것을 사용 $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);

참고 URL : https://stackoverflow.com/questions/13170732/how-to-debug-the-rootscope-object-of-angularjs-in-the-browser

반응형