71 votes

comment déboguer l'objet $rootScope d'angularjs dans le navigateur

Existe-t-il un moyen de déboguer l'application angularjs lorsqu'elle est chargée dans le navigateur ?

ie. Je souhaite obtenir le $rootScope de ma demande actuelle. Comment dois-je m'y prendre ?

75voto

jaime Points 15538

+1 pour Batarang

Vous pouvez également obtenir la portée de n'importe quel élément du DOM en exécutant la commande suivante dans la console

angular.element(DOMNODE).scope()

Où DOMNODE, est bien sûr, une référence à un nœud DOM.

Par exemple, dans Chrome, dans la section éléments vous pouvez sélectionner le nœud dans lequel l ng-app et obtenir la portée de la racine avec la directive

angular.element($0).scope()

10 votes

+1 Pour le chrome c'est $0 pour la div sélectionnée. Vous pouvez aussi utiliser $1, $2 pour l'élément précédemment sélectionné.

9 votes

En utilisant le même sélecteur, vous pouvez sélectionner le ng-app élément alors faire var $rootScope = angular.element($0).injector().get('$rootScope') et jouer avec.

0 votes

Exemple angular.element('body').scope(); dans le cas de votre application est <body data-ng-app="SomeApp">

47voto

mozey Points 122

Dans la console du développeur, essayez ceci

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

15voto

maxisam Points 8843

Batarang -- Un plugin Google Chrome pour AngularJS

Après l'avoir installé, vous pouvez faire

console.log($rootScope) ;

et vérifiez l'objet scope dans votre console chrome.

BTW, si vous voulez obtenir $rootScope, vous devez injecter à votre contrôleur

comme

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

}

3voto

Divya MV Points 1961

Vous pouvez voir le $rootScope dans vos sources Outils de développement->Sources

$rootScope

3voto

raghavsood33 Points 691

Dans la console du développeur, tapez angular.element('body').scope(); dans le cas de votre application est <body data-ng-app="SomeApp">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X