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 ?
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 ?
+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()
+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é.
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.
Exemple angular.element('body').scope();
dans le cas de votre application est <body data-ng-app="SomeApp">
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) {
}
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.