$ routeChangeStart在角度路由中没有其他工作时无效

时间:2016-01-04 09:19:59

标签: angularjs

我有一个应该注意路线变化的功能:

$scope.$on('$stateChangeStart', function(next, current) {
    // do something
});

如果我在我的路线文件中有其他操作$stateChangeStart按预期工作。如果没有,就不会被召唤。

.otherwise({
    redirectTo: '/'
});

我没有收到任何控制台错误,我觉得我错过了$routeChangeStart的工作方式。

2 个答案:

答案 0 :(得分:1)

You have to listen $stateChangeStart in a config block otherwise you cannot reach that as it is in controller now (you use scope thats why I am telling this) and controller cannot start without state set...

You can inject $rootScope to config block and listen events...

答案 1 :(得分:-1)

使用$rootScope它应该是这样的:

$rootScope.$on('$stateChangeStart', function(event){ 
    event.preventDefault(); 
    // add your code here
})