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