我有以下TypeScript代码:
class MyClass {
constructor() {
$("#MyButton").on("click", this.MyCallback);
this.MyMethod();
}
MyCallback = () => {
$.ajax("http://MyAjaxUrl")
.done(function() {
this.MyMethod();
});
}
MyMethod = () => {
// Do some work
}
}
我遇到的问题是当它到达JQuery ajax done函数时,它告诉我" MyMethod不是函数"。调试了Javascript我知道这是因为"这个"不是对MyClass的引用,但是我无法弄清楚如何在这个执行点获得对类的引用。
答案 0 :(得分:2)
可以通过将代码更改为:
来解决$.ajax("http://MyAjaxUrl")
.done(() => {
this.MyMethod();
});