有没有办法检测 AngularJS 中的全局位置变化,而不仅仅是单个控制器?我的目标是检测每个位置变化。
或者有什么有效的方法来观察 window.location.href 的变化?
$routeChangeSuccess
据我了解仅适用于单个控制器还是我错了?
首先,$routeChangeSuccess
不限于单个控制器。它是从$rootScope
这意味着它可以在每个范围(或者继承自的每个范围)上监听$rootScope
)但是是一个应用程序范围的事件。
还有一个未记录的事件,其工作原理类似于$routeChangeSuccess
called $locationChangeSuccess
。区别在于前者在路由成功更改后触发,而后者在 URL 更改但在路由更改之前触发。请注意,这并不是所有 URL 更改,只是 URL 以 AngularJS 应用程序可以注册的方式更改(例如,对 setter 的调用)$location.url()
).
只是为了澄清,$locationChangeSuccess
是从广播$rootScope
以及。
对于两者,您可以使用以下方式监听事件scope.$on('$routeChangeSuccess')
or scope.$on('$locationChangeSuccess')
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)