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