javascript中的setTimeout与angularjs中的$timeout服务之间的区别

前端之家收集整理的这篇文章主要介绍了javascript中的setTimeout与angularjs中的$timeout服务之间的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Iam new to angular framework.Here是我的场景,我想在一段时间后更改我的$scope.variable,所以我使用 javascript setTimeout方法.
$scope.variable='PrevIoUs';

setTimeout(function(){
$scope.variable='NEXT';
},3000);

这段代码对我没有效果我使用$apply()来使这个代码工作.

后来我知道角度本身有一个$timeout服务,这样做同样的工作.

$scope.variable='PrevIoUs';
        $timeout(function () {
            $scope.variable='NEXT';
    },2000);

我如何比较$timeout服务与javascript setTimeout的性能

为什么我们应该使用$timeout而不是setTimeout?

请给我一些使用它的例子和理由,这显示性能.

谢谢 :)

解决方法

从外部处理(包括ajax)时,任何AngularJS范围变量都需要一个$apply().

$timeout()负责处理当前范围并在相同的摘要循环中运行.

我最近发现的$timeout()的一个美丽是,如果你没有传递时间参数,它将等待DOM完成.

所以,

$timeout(function(){
  console.log("show after directive partial loaded")
}); //note,no time parameter

在指令中运行此代码,并且在指令加载部分后,超时回调函数将被触发

希望这可以帮助.

原文链接:https://www.f2er.com/js/154688.html

猜你在找的JavaScript相关文章