我间隔了:
$interval($scope.sendGetRequest, 1500)
该函数每1500ms发送一次$ http.get请求。我想在关闭模式时停止此间隔,因为即使我正在关闭模式,它仍在间隔内发送请求。
关闭模态时会触发什么事件,所以我可以在那里停止间隔?
**我在模态作用域内,我想在模态关闭之前在该范围内停止间隔。
答案 0 :(得分:0)
您必须将间隔定义存储在变量中。
var myInterval = $interval(function() {
// Do something
}, 1500);
然后,当您要停止它时,请使用cancel
的{{1}}方法。
$interval
答案 1 :(得分:0)
在您的控制器中:
$scope.openDialog = function () {
var dialogIns = function () {
var dialogInstance = $uibModal.open({
animation: true,
templateUrl: 'modalHtmlPage.html',
controller: 'modalController',
});
};
}
并在模式控制器中:
var intVal = $interval(function () {
//$http.get request
}, 1500);
$scope.closeModal = function () {
$interval.cancel(intVal);
$uibModalInstance.close();
}
答案 2 :(得分:0)
您可能想在$ scope被销毁(模式关闭)时停止$ interval。
这应该在模态控制器的内部:
var poll = $interval($scope.sendGetRequest, 1500);
$scope.$on('$destroy', stopPolling);
function stopPolling() {
$interval.cancel(poll);
};