我需要知道,为什么我们需要在这里使用$ apply,
var clock = angular.module('clock',[]);
clock.controller('MyController', function($scope) {
$scope.clock = new Date();
var updateClock = function() {
$scope.clock = new Date();
};
setInterval(function() {
$scope.$apply(updateClock);
//updateClock() //why this will not work.
}, 1000);
updateClock();
});
我知道,当使用$ apply时:
“$ apply()函数在Angular内部执行一个表达式 来自Angular框架之外的上下文。例如,如果我们 实现一个setTimeout()或正在使用第三方库和我们 希望事件在Angular上下文中运行,我们必须使用 $适用于()。” 块引用
但是为什么我们需要在这种情况下使用(我的意思是在jsfiddle示例中),因为我在相同的上下文中而不使用任何jQuery代码或第三方库,
函数被调用,但输出反映在视图中,为什么?
答案 0 :(得分:1)
阅读以下手册。 :)
https://github.com/angular/angular.js/wiki/When-to-use-$scope.$apply()
//来自评论的更新
您需要使用$interval服务。