在我的html页面中,我隐藏了DIV初始化:
<div [hidden]=“val>0”>
当运行构造函数时,我定义val = 10,则DIV被隐藏。
然后使用计时器(4000毫秒后)将val更改为-1,因此,DIV应该显示,但是没有附加。
startTimer(){ setTimeout(function(){
this.val=-1;
console.log(‘show!!’); },4000)
}
在控制台中,我可以看到写有“ 显示!”,但DIV仍然隐藏。
我尝试使用布尔变量,NgIf等,但是得到了相同的结果。
我在做什么错了?
答案 0 :(得分:0)
使用匿名函数时,请务必小心并跟踪“ this”指向的位置(范围)。
尝试使用粗箭头功能来防止这种情况获得新范围:
startTimer(){setTimeout(()=> { this.val = -1; console.log('show !!'); },4000) }