AngularJs事件$stateChangeStart未触发

AngularJs event $stateChangeStart not firing

本文关键字:stateChangeStart 事件 AngularJs      更新时间:2023-09-26

我正试图为用户实现基于路由的安全性,stateChangeStart不着火,这是我的代码:

app.run(['$rootScope', '$location', function($rootScope, $location) {
    $rootScope.$on('$stateChangeStart',function(event, toState, toParams, fromState, fromParams){
      console.log('$stateChangeStart to '+toState.to+'- fired when the transition begins. toState,toParams : 'n',toState, toParams);
   });
}]);

所以每当我改变路由,从一个链接/控制器跳转到另一个链接/控制器时,什么都没有发生,但是当我在单个控制器中添加控制台日志时,我确实看到控制台日志语句。

我在这里做错了什么?我怎么调试这个,我不是很有经验的人在角

我猜我用的是ngRoute而不是ui-router

是否有等同于ngRoute的东西,我得到根范围内的状态变化。为了达到这个目的,迁移到ui-router似乎是一个很大的改变

是的,你有不同于$route provider的事件:$routeChangeStart, $ routechangessuccess, $routeChangeError

$rootScope.$on('$routeChangeStart', function(event, next, current) {
    // TODO
});

文档:https://docs.angularjs.org/api/ngRoute/service/$route

相关文章:
  • 没有找到相关文章