角度范围。在setTimeout()中的$ digest

时间:2016-11-14 14:56:16

标签: angularjs

我找到了一个在setTimeout()中使用$ digest()的例子,并想知道使用这种方式是否是一个好习惯:

setTimeout(function(){

  scope.$digest();
})

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

这是因为Angular不会接受基本的javascript函数。我不会说这是一个很好的做法,因为对于这个东西,angular有自己的服务,即$timeout服务:

$timeout(function(){
    // everything in here will be picked up by angular's digest cycle
});

$scope.$digest()是一种手动触发角度消化周期的方法,但我想不出你想要的任何用例。

即使如果你有本机javascript中的代码,我会这样做:

setTimeout(function() {
    $scope.$apply(function() {
        // do stuff that will be picked up by angular
    });
}