如何从typescript中的方法类中的函数访问类成员

Flo*_*res 19 javascript typescript

我有这个打字稿代码:

    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..
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如何在$ .get回调中访问todo成员字段?

Fen*_*ton 28

TypeScript还支持保留词法作用域的箭头函数.箭头函数导致类似于Jakub示例的代码但是更整洁,因为您不需要创建变量并自己调整用法:

以下是使用箭头函数的示例:

$.get("GetUrl", (todos) => {
    this.ToDo(todos);
});
Run Code Online (Sandbox Code Playgroud)

  • 这是关于Typescript的我最喜欢的事情之一. (3认同)
  • 同意,这更好 (2认同)

Jak*_*cki 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..
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 虽然这在技术上是正确的,但使用箭头功能是更好的方法. (3认同)
  • 啊..我缺乏JavaScript技能 (2认同)