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

标签 javascript angularjs angular-ui-bootstrap

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

最佳答案

Angular 包裹的 interval 应显式销毁,如文档中所述:

Intervals created by this service must be explicitly destroyed when you are finished with them. In particular they are not automatically destroyed when a controller's scope or a directive's element are destroyed.

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

var stop = $interval(myFunc, 1000)

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

关于javascript - 即使关闭指令后服务也不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38183064/

相关文章:

angularjs - Angular 基础教程不适用于 Windows?

javascript - ionic : TypeError: Cannot read property 'ready' of undefined

AngularJS注入(inject)第三方模块ngIdle

angularjs - ui-bootstrap 0.13 - 如何在 ng-repeat 中使用 tooltip-html

javascript - Angular ui 弹出窗口标题可以是 Angular 表达式吗

javascript - 使用 Javascript 生成 HTML,然后用 Angular js 解释它

javascript - react 从子元素到父元素的状态绑定(bind)

Javascript 更改或加载

javascript - 在 JavaScript switch 语句中使用 OR 运算符

javascript - Bootstrap 警报消息在 ui-router 下的 Angular 运行 block 内不起作用?