我有一个模态窗口,其中有一个指令我在其中调用一个服务,该服务在每30秒后在$ interval内发出http请求,但是当我关闭模态窗口时,服务仍然在每次运行之后运行30秒,是否有一种方法可以在关闭模态窗口时同时停止它?
答案 0 :(得分:1)
angular wrapped interval
,如文档中所述:
完成后,必须明确销毁此服务创建的间隔。特别是当控制器的范围或指令的元素被破坏时,它们不会自动销毁。
您应该取消删除指令的时间间隔,如下所示:
var stop = $interval(myFunc, 1000)
$scope.on('$destroy', () => {
$interval.cancel(stop);
});