Javascript 如何使用ng repeat添加包含计时器功能的项目?
我正在尝试动态添加包含计时器的项目。目前,它仅在添加新项目时更新计时器值。Javascript 如何使用ng repeat添加包含计时器功能的项目?,javascript,angularjs,Javascript,Angularjs,我正在尝试动态添加包含计时器的项目。目前,它仅在添加新项目时更新计时器值。 如何每秒更新每个项目的计时器值 <div ng-repeat="item in items"> ID:<label>{{item.id}}</label> </br> time:{{item.time}} </div> </div> HTML <div ng-repeat="item in
如何每秒更新每个项目的计时器值
<div ng-repeat="item in items">
ID:<label>{{item.id}}</label> </br>
time:{{item.time}}
</div>
</div>
HTML
<div ng-repeat="item in items">
ID:<label>{{item.id}}</label> </br>
time:{{item.time}}
</div>
</div>
您需要用
$scope.$apply.
包装计时器主体,以通知AngularJS模型已更改,并应更新视图:
<div ng-repeat="item in items">
ID:<label>{{item.id}}</label> </br>
time:{{item.time}}
</div>
</div>
item.timer = setInterval(function() {
$scope.$apply(function(){
var cur = new Date();
item.time = (cur.getTime() - item.created);
});
},1000);
现在可以工作了。非常感谢!或者您可以使用提供的
$timeout
来摆脱$scope.$apply
。
<div ng-repeat="item in items">
ID:<label>{{item.id}}</label> </br>
time:{{item.time}}
</div>
</div>