javascript - Hur man får åtkomst till klassmedlem från funktion i metodklass i typescript
Jag har den här TypeScript-koden:
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..
});
}
}
}
Frågan är, hur får jag åtkomst till todo-medlemsfältet i $.get-callbacken?
Svar #1
TypeScript stöder också pilfunktioner som bevarar lexikalisk scope. Pilfunktioner resulterar i liknande kod som Jakubs exempel men är snyggare eftersom du inte behöver skapa variabeln och justera användningen själv:
Här är exemplet som använder en arrow-funktion:
$.get("GetUrl", (todos) => {
this.ToDo(todos);
});
Svar #2
På samma sätt som du gör det i 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..
});
}
}
