Débogage de route, à condition de routeProvider
Je suis nouveau sur AngularJS et essaie de débogage certains de mes itinéraires, mais je ne sais pas comment afficher/afficher l'itinéraire passé à la routeprovider.
Par exemple si mon itinéraire est défini comme suit;
reportFormsApp.config(function ($routeProvider) {
$routeProvider
.when("/Reporting", { templateUrl: "ReportForm/rfTemplate.html", controller: "rfController" })
.when("/Dashboard", { templateUrl: "DashboardForm/dfTemplate.html", controller: "dfController" })
.when("/Analysis", { templateUrl: "AnalysisForm/afTemplate.html", controller: "afController" })
.otherwise({ redirectTo: "/Reporting" })
});
Lors du débogage j'ai envie de casser le code et dans le journal de la console d'entrer dans quelque chose comme;
$routeProvider.path
pour afficher l'itinéraire qu'il serait évalué par l' ".quand".
Vous devez vous connecter pour publier un commentaire.
Vous pouvez écouter plusieurs événements émis par le
$service de l'itinéraire
. Ces événements sont:$routeChangeStart
$routeChangeSuccess
$routeChangeError
$routeUpdate
(J'encourage la lecture de la documentation fournie par le lien pour les descriptions de chacun.)
À ce stade, vous pouvez écouter l'un ou l'ensemble de ces événements sur la
$scope
de l'un de vos contrôleurs ou des directives, ou par l'injection de$rootScope
dans votreangular.module().run()
fonction ou d'un autre service/de l'usine.Par exemple, comme un additif à votre code fourni:
Vous pouvez également accéder au reste de votre
$routeProvider
objets comme descurrent.templateUrl
ounext.controller
.Remarque concernant redirectTo:
Il est un objet d'exception à l'aide de la
$route service
événements et c'est quand il y a une redirection. Dans ce cas,next.originalPath
sera pas défini, car tout ce que vous avez est leredirectTo
de la propriété que vous avez défini dansotherwise()
. Vous ne verrez jamais la route que l'utilisateur a essayé d'accès.Ainsi, vous pouvez écouter de la
$emplacement du service
$locationChangeStart
ou$locationChangeSuccess
événements:Si vous utilisez HTML5Mode alors il y aura deux autres arguments fournis par le
$locationChange*
événements. Ceux-ci sontnewState
etoldState
.En conclusion, l'écoute de la
$route*
événements sera probablement votre meilleur pari pour le débogage des objets et des définitions que vous fournissez dans votre$routeProvider
. Toutefois, si vous avez besoin de voir tous les url objet d'une tentative, de la$locationChange*
les événements devront être écouté.En cours de AngularJS 1.3.9