小编alg*_*edi的帖子

类变量在函数内未定义

只是想学习 Angular 2+(特别是 8),对于我的一生,我无法理解为什么类变量在类函数内是“未定义”的,但如果我用 ES6 风格编写函数则可以访问。

我尝试在构造函数中设置,但这没有意义。

export class GameControlComponent implements OnInit {

    myVar;
    counter = 0; 

    constructor() {}  ngOnInit() {}

    handleClickStart() {

        this.myVar = setInterval(this.myFunc, 1500);
    }

    myFunc() {
        this.counter++;
        console.log(this.counter);  
    }
}
Run Code Online (Sandbox Code Playgroud)

调用“handleClickStart”后,每 1.5 秒输出 NaN。为什么????我本来期望1 2 3......

以这种方式实现handleClickStart给了我想要的结果:

handleClickStart() {    
    this.myVar = setInterval(() => {
      console.log(this.counter + 1);
      this.counter++;
    }, 1500);
}
Run Code Online (Sandbox Code Playgroud)

但仍然不明白为什么第一种方法没有成功。

function settimeout typescript angular8

3
推荐指数
1
解决办法
3775
查看次数

标签 统计

angular8 ×1

function ×1

settimeout ×1

typescript ×1