如何在用户离开页面时取消angularjs $ timeout

时间:2013-07-07 01:44:10

标签: web-applications angularjs web timeout

我使用$timeout定期更新我的angularjs应用中的某个页面上的信息。当用户离开此页面时,我想取消$timeout。有没有一种简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:12)

好的,我在挖掘后找到了解决方案:

$scope.$on('$destroy', function() {
    $timeout.cancel(timeout);
});

或者对于Angular 1.5中的新组件语法:

this.$onDestroy = function() {
    if (timeout) {
        $timeout.cancel(timeout);
    }
}