Tom*_*rto 9 routes angularjs angularjs-routing
我只是想知道是否有办法知道是否有人正在更改URL的路由.
举个例子,我在html中有这样的东西:
<a ng-href="#/somewhere">To somewhere</a>
Run Code Online (Sandbox Code Playgroud)
我正在使用这个:
$scope.$on('$routeChangeSuccess', function (scope, next, current) {
//Some code
})
Run Code Online (Sandbox Code Playgroud)
但是,我刚刚意识到我需要在更改URL之前运行此代码.有没有办法达到这个目的,并且也有相同的方法,next并current知道我将在哪里重定向,从哪里来?
pko*_*rce 24
有一个$routeChangeStart事件在路由更改之前被触发.它支持下一个和当前参数,完全像您期望的那样.所以,为了覆盖你的用例你可以写:
$scope.$on('$routeChangeStart', function(scope, next, current){
console.log('Changing from '+angular.toJson(current)+' to '+angular.toJson(next));
});
Run Code Online (Sandbox Code Playgroud)
以下是完整的jsFiddle,说明了这一点:http://jsfiddle.net/pkozlowski_opensource/9MnE9/
您可能还需要检查$ route文档(https://docs.angularjs.org/api/ngRoute/service/$route)以查看$ route服务发出的其他事件.
| 归档时间: |
|
| 查看次数: |
20602 次 |
| 最近记录: |