0
我在刷新使用$interval
檢查數據的方法。我正在使用切換開關來打開/關閉。默認情況下,它以開啓和刷新開始。如果我將其關閉,它將進入關閉狀態,5秒鐘後再次進入開啓狀態並繼續刷新。爲什麼我的cancel()
未被調用?Angularjs自動刷新不會停止取消
HTML
<div>
<i class="fa fa-toggle-on active" ng-if="status == true" ng-click="changeStatus();"> </i>
<i class="fa fa-toggle-on fa-rotate-180 inactive" ng-if="status ==false" ng-click="changeStatus();"> </i>
</div>
JS
App.controller('Ctrl', [ '$scope', 'Details', '$interval', function($scope, Details, $interval ) {
$scope.availableDetailsTemp = [];
$scope.availableDetails = [];
init();
function init() {
$scope.status = true;
$scope.availableDetails = [];
$scope.availableDetailsTemp =
Details.resource2.query(function(response) {
angular.forEach(response, function(item) {
if (item) {
$scope.availableDetails.push(item);
}
});
});
}
var myInterval = null;
if ($scope.status = true) {
myInterval = $interval(init, 5000);
}
$scope.changeStatus = function(){
$scope.status = !$scope.status;
if ($scope.status = false) {
$interval.cancel(myInterval);
}
};
}]);
clearInterval(myInterval); –
我試圖在假狀態下給它,但仍然是一樣的 – user7620991
'$ scope.status = false'應該是'$ scope.status === false'或者簡單的'!$ scope.status'。對'$ scope.status = true'進行類似的更改。 –