gpt4 book ai didi

每秒重绘 meteor 时钟

转载 作者:行者123 更新时间:2023-12-02 21:39:39 24 4
gpt4 key购买 nike

  Template.display_time.time = function() {
var date = new Date();
var hour = date.getHours();
var minute = date.getMinutes();
var now = addZero(hour) + ":" + addZero(minute);
return now
};

目前我使用此代码来显示时间。但我一直在尝试使用简单的javascript每秒更新它,但它不会显示在页面上。有没有一种 meteor 友好的方法可以使用上面的函数来做到这一点?就像以 1 秒间隔使用 setTimeout 一样。

我以前使用的 JavaScript。

function updateTime() {
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
if (hours < 10)
{
hours = "0" + hours;
}
if (minutes < 10)
{
minutes = "0" + minutes;
}
var v = hours + ":" + minutes + " ";
setTimeout("updateTime()",1000);
document.getElementById('time').innerHTML=v;
}
updateTime();

最佳答案

该方法不起作用的原因是它不是响应式(Reactive)数据源。

尝试以下操作。

Template.display_time.time = function() {
return Session.get('time');
};

Meteor.setInterval(function() {
Session.set('time', getTime());
}, 1000);

请参阅有关 Deps 的文档

"Meteor has a simple dependency tracking system which allows it to automatically rerun templates and other computations whenever Session variables, database queries, and other data sources change."

关于每秒重绘 meteor 时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com