J'écoute pour $ locationChangeSuccess
in Angular en utilisant ce code:
$scope.$on('$locationChangeSuccess', function(event) { console.log('Check, 1, 2!'); });
Cependant, il ne se connecte à la console que l'emplacement a changé lorsque je navigue vers un nouveau lien. Naturellement, cela a du sens. Ma question est, comment puis-je faire que Angular écoute pour $locationChangeSuccess
dans le cas où je rafraîchis la page?
Vous ne pouvez pas vous inscrire à partir d'un contrôleur car $ locationChangeSuccess se produit avant que l'itinéraire ne soit égal et le contrôleur invoqué. Au moment où vous vous inscrivez, l'événement a déjà été lancé.
Cependant, vous pouvez vous abonner à l'événement sur $ rootScope pendant la phase d'amorçage de l'application:
var app = angular.module('app', []); app.run(function ($rootScope) { $rootScope.$on('$locationChangeSuccess', function () { console.log('$locationChangeSuccess changed!', new Date()); }); });
Vous voulez probablement un auditeur sur window.onbeforeunload
qui s'appelle juste avant que la fenêtre ne décharge ses ressources (actualiser).