第一次使用moment.js
,我正在努力实现一个时钟来显示CET和PST的时间。我的代码如下:
function cetClock() {
var cet = moment.tz("Europe/London");
var today = new Date(cet);
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkCetTime(m);
s = checkCetTime(s);
$rootScope.cetTime = h + ":" + m + ":" + s;
var t = setTimeout(cetClock, 300);
}
function checkCetTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
cetClock()
<div class="col-md-6">
<p>CET: {{$root.cetTime}}</p>
</div>
我遇到的问题是视图中的时间每4-5秒才会更新一次。如果我在函数中记录h
,m
,s
,则每500毫秒更新一次。
问题
为什么viiew中的时钟每秒都无法更新?
答案 0 :(得分:1)
我建议使用$timeout
代替setTimeout
,这会自动触发摘要周期。