$locationChangeSuccess
和$locationChangeStart
之间有什么区别?
它们都是与window.location
相关的无证事件。
答案 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