首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJS是否可以在刷新时侦听$locationChangeSuccess?

AngularJS是否可以在刷新时侦听$locationChangeSuccess?
EN

Stack Overflow用户
提问于 2013-04-25 03:08:10
回答 2查看 36.6K关注 0票数 20

我正在使用下面的代码监听Angular中的$locationChangeSuccess

代码语言:javascript
复制
$scope.$on('$locationChangeSuccess', function(event) {
  console.log('Check, 1, 2!');
});

但是,只有当我导航到新链接时,它才会在控制台中记录位置已更改。当然,这是有道理的。我的问题是,在刷新页面的情况下,我如何让Angular侦听 $locationChangeSuccess

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-25 08:12:27

您不能从控制器内注册,因为$locationChangeSuccess在路由匹配和控制器调用之前发生。当你注册时,事件已经被触发了。

但是,您可以在应用程序引导阶段在$rootScope上订阅事件:

代码语言:javascript
复制
var app = angular.module('app', []);
app.run(function ($rootScope) {
    $rootScope.$on('$locationChangeSuccess', function () {
        console.log('$locationChangeSuccess changed!', new Date());
    });
});
票数 37
EN

Stack Overflow用户

发布于 2013-04-25 03:17:06

您可能需要window.onbeforeunload上的侦听器,它在窗口卸载其资源(刷新)之前被调用。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16200239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档