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