$ locationChangeSuccess和$ locationChangeStart之间有什么区别?

时间:2013-02-21 16:05:40

标签: angularjs window.location

$locationChangeSuccess$locationChangeStart之间有什么区别?

它们都是与window.location相关的无证事件。

1 个答案:

答案 0 :(得分:43)

当AngularJS根据通过$locationChangeStart服务($location$location.path())完成的突变开始更新浏览器的位置时,$location.search()会被触发。

应用程序可能会收听$locationChangeStart事件,并会在其上调用preventDefault()。在这种情况下,第二个事件($locationChangeSuccess)将不会广播。

简而言之:$locationChangeStart在位置更新时触发。如果没有阻止第一个操作,则后跟$locationChangeSuccess

源代码的相关位在这里: https://github.com/angular/angular.js/blob/2508b47c1a34dfc834f8fde858574f81af4d287e/src/ng/location.js#L598