0
我用下面的代码得到一个错误:流星 - 模板递归函数onrendered
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);
流星返回以下错误:
Uncaught ReferenceError: chronometer is not defined
我应该把这样的自定义代码放在模板onRendered
功能?我也试图直接将它包含在<script>
标签的模板中,并且到目前为止它的工作原理!但这不是一个坏习惯吗?
......谢谢你,这是非常愚蠢的我... 我得到了第二个问题(并希望它不如我的第一张那么糟糕),每当我浏览页面并返回时,计时器功能都会被重复,从而导致奇怪的UI可视化。当我离开模板时,是否应该杀死函数? – Krem
我想我找到了我的解决方案:http://stackoverflow.com/questions/31871785/meteor-how-to-clearinterval-ondestroyed-created-in-onrendered-祝你有美好的一天;) – Krem