这是我页面上的Angular JS功能:
function DateCtrl($scope) {
$scope.returndate = function () {
return Date.now();
}
}
标记如下:
<html ng-app>
<body>
<div id = "date" class = "stats" ng-controller = "DateCtrl">
<span>Date:</span><div id = "noedate">{{returndate()}}</div>
</div>
</body>
</html>
由于数据绑定,您希望#nowdate
中返回的日期每秒都会更改,但事实并非如此。有人知道这里有什么问题吗?
我会提供一个小提琴,但jsfiddle不支持角度......
答案 0 :(得分:6)
由于AngularJS不会不断地为更改进行池化,而只是刷新模板以响应某些事件,因此数据不会自动更新。您可以查看此帖子:How does data binding work in AngularJS?以获取有关角度内部工作的更多信息。
如果您想在一段时间后刷新某个值,请使用$ timeout服务(http://docs.angularjs.org/api/ng.$timeout)。
实际上,使用$ watch和$ timeout的组合在AngularJS中执行时钟非常容易:
$scope.time = new Date();
$scope.$watch('time', function(){
$timeout(function(){
$scope.time = new Date();
},1000);
});
以下是完整的jsFillde:http://jsfiddle.net/pkozlowski_opensource/f5ApP/1/
答案 1 :(得分:0)
var updateTime = function () {
$scope.currentTime = new Date();
$timeout(updateTime, 1000);
};
updateTime();