我有一个关于上下文的问题。在 typescript 中处理上下文的正确方法是什么?如果我理解正确,我有闭包问题?当我在对象(类)中的函数内部调用函数时,它就是一个闭包,对吗?
但是我必须使用 self = this
还是 typescript 有更好的方法?因为我真的不喜欢这个解决方案。我不想束缚每一件小事。
我正在谈论的例子:
export class SomeClass {
private declaration;
constructor() {}
ngOnInit(){
var self = this;
some code
var interval = setInterval(function() {
self.someFunction();
}, 1000);
}
someFunction() {
something
}
}
谢谢你的建议
最佳答案
在这种情况下,您可以使用 arrow function语法,它将捕获 this
的值以按照您的预期引用类原型(prototype):
ngOnInit() {
some code
var interval = setInterval(() => {
this.someFunction();
}, 1000);
}
关于scope - 如何正确处理 typescript 中的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36876105/