我收到以下代码的错误:
Template.crowd.onRendered(function () {
var zecsec = 0;
var hours = 1;
var mints = 34;
var seconds = 52;
function chronometer() {
zecsec += 1;
// set seconds
if(zecsec > 0) {
zecsec = 0;
seconds += 1;
}
// set minutes
if(seconds > 59) {
seconds = 0;
mints += 1;
}
// set hours
if(mints > 59) {
seconds = 0;
mints = 0;
hours += 1;
}
$('.chrono').html(hours + 'h ' + mints + 'min ' + seconds + 's');
setTimeout("chronometer()", 1000);
}
chronometer(); });
当我调用递归计时器功能时会出现问题:
setTimeout("chronometer()", 1000);
Meteor返回以下错误:
Uncaught ReferenceError: chronometer is not defined
我应该将这样的自定义代码放在模板onRendered
函数中吗?我还尝试将其直接包含在带有<script>
标签的模板中,到目前为止它还可以使用!但这不是一个坏习惯吗?
答案 0 :(得分:0)
它不是关于递归,你只需要将函数引用传递给setTimeout而不是字符串:
setTimeout(chronometer, 1000);