我的编程经验相当丰富,但对 TypeScript 还是很陌生。
尝试将它与 jQuery 一起使用并立即遇到回调的“this”问题(例如 $(document).ready.
使用 $.proxy() 是一种方法,但使用 TypeScript 的箭头 (lambda) 函数似乎要好得多。但我只看到它们用作表达式——即整个函数是内联定义的。我希望能够设置可以作为我的类的方法调用的箭头函数,例如(在伪代码中):
class Something {
constructor() {
$(' nav li').click(this.menuClick);
}
private menuClick (and this would be an arrow function to preserve 'this')()=>
// it would call this.anotherMethod()
// plus lots of other things so it won't easily fit inline
private anotherMethod():void {
// do something on the menu click, several lines perhaps,
}
}
我来自 AS3 的 OOP 背景,这就是我能够做到这一点的方式——“this”很容易访问,或者很清楚如何访问它。我热衷于使用 TypeScript 来克服我在使用纯 Javascript 时遇到的 OOP 障碍——但是(对我而言)必须代理所有 jQuery 调用似乎很麻烦(我知道那里有一些类可以做到这一点)我,但是有没有更简单的方法,带有箭头/lambda函数?)。
如果我不理解显而易见的事情,请耐心等待,但这对我来说并不明显!