我正在使用此代码在Angular中收听$ locationChangeSuccess
:
$scope.$on('$locationChangeSuccess', function(event) {
console.log('Check, 1, 2!');
});
但是,当我导航到新链接时,它只会在控制台中登录该位置已更改。当然,这是有道理的。我的问题是,如果我刷新页面,怎么能让Angular听取 $locationChangeSuccess
?
答案 0 :(得分:32)
您无法在控制器中注册,因为$ locationChangeSuccess在匹配路由并调用控制器之前发生。在您注册时,该事件已被解雇。
但是,您可以在应用程序引导阶段在$ rootScope上订阅该事件:
var app = angular.module('app', []);
app.run(function ($rootScope) {
$rootScope.$on('$locationChangeSuccess', function () {
console.log('$locationChangeSuccess changed!', new Date());
});
});
答案 1 :(得分:6)
你可能想要window.onbeforeunload
上的一个监听器,它在窗口卸载它的资源(刷新)之前被调用。