angularjs的简单计时器不起作用

时间:2014-02-07 06:35:18

标签: angularjs

我尝试通过angular.js设置一个计时器。 有人能告诉我为什么方法2不起作用吗? 我已设置警报以确保已触发该功能。 非常感谢。

HTML

<div ng-controller="MyController">
<h5>{{ clock }}</h5>
</div>

JS

function MyController($scope) {
    alert("start point check");
    var updateClock = function() {
    $scope.clock = new Date();
  };
//method1.  
setInterval(function() {$scope.$apply(updateClock);}, 1000);

//method2.
//setInterval(updateClock, 1000);

updateClock();
};

1 个答案:

答案 0 :(得分:0)

实际上,您应该使用$ timeout而不是setInterval。

第二个选项不起作用的原因是Angular $ digest无法识别通过setInterval所做的更改。它在Angular之外,因此你需要做一个$ scope。$ apply。

检查this链接,以便更好地了解$ apply。