Czy istnieje sposób debugowania aplikacji angularjs, gdy jest ona załadowana do przeglądarki?
tj. Chcę uzyskać $rootScope
z mojej obecnej aplikacji. Jak to zrobić?
Czy istnieje sposób debugowania aplikacji angularjs, gdy jest ona załadowana do przeglądarki?
tj. Chcę uzyskać $rootScope
z mojej obecnej aplikacji. Jak to zrobić?
+1 dla Batarang
Ponadto, można uzyskać z dowolnego zakresu element w DOM, wykonując następujące czynności z konsoli:
angular.element(DOMNODE).scope()
Gdzie DOMNODE jest Oczywiście, odniesienie do węzła DOM.
Na przykład w Chrome w zakładce elementów można wybrać węzeł, w którym dyrektywa ng-app
jest i uzyskać zakres korzeniowy z
angular.element($0).scope()
Batarang - Wtyczka Google Chrome dla angularjs
Po zainstalowaniu tego można zrobić
console.log ($ rootScope);
i sprawdź obiekt zakresu w konsoli chrome.
BTW, jeśli chcesz dostać $ rootScope, trzeba wstrzyknąć do kontrolera
jak
app.controller('MainCtrl', function($scope, $rootScope) {
}
W konsoli programisty spróbować tej
$rootScope = angular.element(document).scope()
Po prostu chciałem dodać, że istnieje bezpłatne rozszerzenie Chrome o nazwie "Angular Scope Inspector" (current store url), które automatycznie sprawdza zakres wybranych elementów w narzędziach deweloperskich. Zakładka NTS
Właśnie odkryliśmy, że dzisiaj, i to bardzo użyteczne, IMO
Widać $ rootScope w źródłach Developer Narzędzia-> Źródła
W deweloperskim typu konsoli angular.element('body').scope();
w przypadku Twojej aplikacji to <body data-ng-app="SomeApp">
+1 Dla chrome $ 0 dla wybranego div. możesz także użyć 1 $, 2 $ za poprzednio wybrany element. –
$ 0 działa również w WebInspector Safari. – mikker
Używając tego samego selektora, możesz wybrać element 'ng-app', a następnie' var $ rootScope = angular.element ($ 0) .injector(). Get ('$ rootScope') 'i grać z nim. – maxdec