【发布时间】:2019-10-10 05:48:32
【问题描述】:
我想在定时器值变为0时调用一个函数。当我点击卡片时,会打开一个弹出窗口,然后定时器启动。下面是代码:
openModal() {
switch (area) {
case 'a':
var self_t = this;
uid = 11;
let timer = 20;
let interval = setInterval(function () {
let elementID = document.getElementById('float-div');
if(elementID == null) {
timer = this.inSeconds;
}
if(timer >= 0) {
if(elementID) {
elementID.innerHTML = String(timer);
}
}
if (--timer == 0) {
if(elementID) {
elementID.innerHTML = '0';
}
if(area == "a") {
self_t.callFunction(uid); // here it is not going, I put debugger here but i can see it doesn't go here!
clearInterval(interval);
}
}
}, 1000);
break;
case 'b':
console.log('something else');
break;
}
}
callFunction(uid) {
console.log(uid);
}
已经试过了:using var self=this
如果我使用this.callFunction(uid),则会引发错误。
【问题讨论】:
-
使用箭头函数给你写信
setInterval就可以了。 -
它抛出的错误是什么
-
@Manish 我没明白,如何在我的代码中使用,因为我有某些条件要检查,当 timer == 0 时调用该函数。
-
@PathikVejani 发布了答案看看。
标签: javascript angular typescript