【发布时间】:2014-05-28 22:44:14
【问题描述】:
我有一个 Angular JS 应用程序,我想在路由成功更改时每秒执行一次全局操作。所以我创建了一个 .run() 块,在其中我 DI $interval 并在 $routeChangeSuccess 上使用 $interval。奇怪的是,每次换路后,间隔开火的速度越来越快。 这是我的代码:
app.run(["$interval", "$rootScope", function($interval, $rootScope){
$rootScope.$on("$routeChangeSuccess", function(event, current){
if(current.$$route.authenticate){
$interval(function(){
console.log("whatever");
}, 1000);
}
});
}]);
总而言之,“随便”控制台日志的触发速度越来越快。是因为 $interval 是单例,所以每次都会重新创建?但是为什么不删除旧的 $interval 呢?
【问题讨论】:
标签: javascript angularjs rootscope