只是想学习 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)
但仍然不明白为什么第一种方法没有成功。