Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度事件$stateChangeStart未触发_Javascript_Angularjs - Fatal编程技术网

Javascript 角度事件$stateChangeStart未触发

Javascript 角度事件$stateChangeStart未触发,javascript,angularjs,Javascript,Angularjs,我正在尝试为用户实施基于路由的安全性,但是stateChangeStart不会启动,这是我的代码: app.run(['$rootScope', '$location', function($rootScope, $location) { $rootScope.$on('$stateChangeStart',function(event, toState, toParams, fromState, fromParams){ console.log('$stateChangeS

我正在尝试为用户实施基于路由的安全性,但是
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路由器


对于
ngRoute
,是否存在与我在根作用域上获得状态更改等效的内容。迁移到ui router在这一点上似乎是一个很大的改变,为此目的

是的,您有不同于$route provider的事件:$routeChangeStart、$routeChangeSuccess、$routeChangeError

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

doc:$route

是您有不同于$route提供程序的事件:$routeChangeStart、$routeChangeSuccess、$routeChangeError

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

文件:$route

只是想澄清一下,你使用的是ui路由器还是ngRoute?@charlietfl是的,我使用的是
ngRoute
d'oh,对于
ngRoute
是的,
$routeChange…
。。。但这很容易在文档中查找also@charlietfl是的,可以,但如果你访问滚动内容的右侧,我就无法导航到该信息。但是“轻松”是一个前瞻性的问题,你显然知道你的方法,我最近刚开始学习angular,希望有一天我能达到你的水平。只是想弄清楚,你是在使用ui路由器还是ngRoute?@charlietfl是的,我用的是
ngRoute
d'哦,对于
ngRoute
是的,
$routeChange…
。。。但这很容易在文档中查找also@charlietfl是的,可以,但如果你访问滚动内容的右侧,我就无法导航到该信息。但是“轻松”是一个前瞻性的问题,你显然知道你的方法,我最近刚开始学习angular,希望有一天我能达到你的水平。引入很简单,这可以从评论中转化为答案。。。至少要用恰当的句子给出一个完整的答案。导入很简单,可以将此转化为评论中的答案。。。至少要用恰当的句子给出完整的答案