如何在切换路径时停止角度轮询

时间:2016-12-18 06:07:44

标签: angularjs angular-ui-router

我有一个angular的路由,每隔x秒调用一次函数来轮询数据(使用setInterval)。我的问题是,当用户导航到另一条路线时,轮询仍在继续。如何使用ui-router切换到任何其他路由时停止轮询(clearInterval)?

2 个答案:

答案 0 :(得分:1)

ui-router路线类似于州,ui-router为您提供state lifecycle events

如果您尝试更改路线/状态并成功,可以使用其中一个事件$stateChangeSuccess取消$interval

$scope.$on('$stateChangeSuccess', function(event){
    // cancel your $interval here
})

答案 1 :(得分:0)

你应该在$ scope destroy方法上取消$ interval。更多文档:https://docs.angularjs.org/api/ng/service/ $ interval