我尝试通过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();
};
答案 0 :(得分:0)
实际上,您应该使用$ timeout而不是setInterval。
第二个选项不起作用的原因是Angular $ digest无法识别通过setInterval所做的更改。它在Angular之外,因此你需要做一个$ scope。$ apply。
检查this链接,以便更好地了解$ apply。