我不知道什么是这三个不同,与其相应的$locationChangeSuccess,$routeChangeSuccess和$stateChangeSuccess.
jac*_*per 38
$ locationChangeStart:$location只要URL发生变化,它就会
使用提供者并进行广播.位置更多地指特定URL的路径.它更像是纯JavaScript,您可以更改为应用程序中的任何路径,如果它在您的应用程序中定义为路由或状态,则无关紧要.
$ routeChangeStart:
这使用$route提供者,它是相同的,broadcasts当路由改变时(默认的Angular路由器使用ngRoute).这用于在控制器和视图之间建立链接.
$ stateChangeStart:
当状态发生变化时会发生这种情况,并在转换开始时进行广播.它由ui-router使用,它提供了routeprovider的不同(更高级)实现.States允许您映射和访问有关不同状态的不同信息,您可以轻松地通过状态在状态之间传递信息$stateParams.
它们非常相似,实际上它们具有相同的名称,但主要区别取决于应用程序使用的路由.如果您使用角度路由器然后坚持路由,但是,如果您使用ui-router,请坚持使用状态.这是我可以给你的实用建议.
请注意,您可以在不更改状态的情况下更改位置(即URL已更改但您仍处于相同状态).
因此,$locationChangeStart即使您使用ui-router,也可能希望收听$stateParam,例如,如果更改可能会导致丢失更改.
| 归档时间: |
|
| 查看次数: |
19415 次 |
| 最近记录: |