gpt4 book ai didi

javascript - 关于 Angular 中的位置更改

转载 作者:可可西里 更新时间:2023-11-01 02:31:05 25 4
gpt4 key购买 nike

有没有办法检测 AngularJS 中的全局位置变化,而不仅仅是单个 Controller ?我的目标是检测每个位置变化。或者有什么有效的方法可以观察 window.location.href 的变化吗?

$routeChangeSuccess 

据我了解,是仅适用于单个 Controller 还是我错了?

最佳答案

首先,$routeChangeSuccess 不限于单个 Controller 。它是从 $rootScope 广播的,这意味着它可以在每个作用域(或者从 $rootScope 继承的每个作用域)上被监听,但它是一个应用程序范围的事件。

还有一个与 $routeChangeSuccess 类似的未记录事件称为 $locationChangeSuccess。不同之处在于,前者在路由成功更改后触发,而后者在 URL 更改时但在路由更改之前触发。请注意,这并不是所有 URL 更改,只是以 AngularJS 应用程序可以注册它的方式更改 URL 的时间(例如,对 $location.url() 的 setter 调用)。

澄清一下,$locationChangeSuccess 也是从 $rootScope 广播的。

对于两者,您可以使用 scope.$on('$routeChangeSuccess')scope.$on('$locationChangeSuccess') 监听事件。

关于javascript - 关于 Angular 中的位置更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18325406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com