即使在关闭指令后服务也不会停止

时间:2016-07-04 10:59:27

标签: javascript angularjs angular-ui-bootstrap

我有一个模态窗口,其中有一个指令我在其中调用一个服务,该服务在每30秒后在$ interval内发出http请求,但是当我关闭模态窗口时,服务仍然在每次运行之后运行30秒,是否有一种方法可以在关闭模态窗口时同时停止它?

1 个答案:

答案 0 :(得分:1)

应该明确销毁

angular wrapped interval,如文档中所述:

  

完成后,必须明确销毁此服务创建的间隔。特别是当控制器的范围或指令的元素被破坏时,它们不会自动销毁。

您应该取消删除指令的时间间隔,如下所示:

var stop = $interval(myFunc, 1000)

$scope.on('$destroy', () => {
    $interval.cancel(stop);
});