我有这个打字稿代码:
module MyPage {
export class MyVm {
ToDo : string;
Load() {
//can access todo here by using this:
this.ToDo = "test";
$.get("GetUrl", function (servertodos) {
//but how do I get to Todo here??
this.ToDo(servertodos); //WRONG ToDo..
});
}
}
}
问题是,如何在$ .get回调中访问todo成员字段?
答案 0 :(得分:26)
TypeScript还支持保留词法范围的箭头功能。箭头函数导致类似于Jakub示例的代码但是更整洁,因为您不需要创建变量并自己调整用法:
以下是使用箭头功能的示例:
$.get("GetUrl", (todos) => {
this.ToDo(todos);
});
答案 1 :(得分:9)
与在javascript中执行此操作的方式相同
export class MyVm {
ToDo : string;
Load() {
//can access todo here by using this:
this.ToDo = "test";
var me = this;
$.get("GetUrl", function (todos) {
//but how do I get to Todo here??
me.ToDo(todos); //WRONG ToDo..
});
}
}
答案 2 :(得分:0)
芬顿是对的。
但是您也可以这样做:
mycallback(todos, self) { self.todo(todos)); }
$.get('url', mycallback(todos, this));