Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng hide不使用setInterval_Javascript_Angularjs_Ionic Framework_Setinterval_Ng Hide - Fatal编程技术网

Javascript ng hide不使用setInterval

Javascript ng hide不使用setInterval,javascript,angularjs,ionic-framework,setinterval,ng-hide,Javascript,Angularjs,Ionic Framework,Setinterval,Ng Hide,HTML: 运行后,结果显示为“第一”。计数器达到4且$scope.timeout更改为true后,结果仍然显示“First”而不是“Second” 谢谢。设置间隔未包装在$scope.$apply() 或者,使用提供的$interval或添加$scope.$apply()在setInterval函数中。在间隔回调结束时添加$scope.$apply()。谢谢。它起作用了,我使用$interval而不是$scope.$apply(),因为它会得到一些错误-“错误:[$rootScope:inpr

HTML:

运行后,结果显示为“第一”。计数器达到4且$scope.timeout更改为true后,结果仍然显示“First”而不是“Second”


谢谢。

设置间隔未包装在
$scope.$apply()

或者,使用提供的
$interval
或添加
$scope.$apply()在setInterval函数中。

在间隔回调结束时添加
$scope.$apply()
。谢谢。它起作用了,我使用$interval而不是$scope.$apply(),因为它会得到一些错误-“错误:[$rootScope:inprog]$digest已经在进行中”。
<div ng-hide="!timeout">
     First
</div>

<div ng-hide="timeout">
    Second   
</div>
var counter = 0;
$scope.timeout = false;

var interval = setInterval(function loop() { 
    if (++counter == 4){
                clearInterval(interval);
                $scope.timeout = true;
        }
        return loop
}(), 5000);