从 TypeScript 访问 JavaScript "this"

Access JavaScript "this" from TypeScript

我目前正在我的打字稿项目中使用 AlpacaJS 库。这个 JavaScript/JQuery 库包含在我的 Typescript class 中,并希望我在 json 样式对象中传递一些选项,如下所示:

this.options = {
    "collapsible": false,
    "fields": {
        "id": {
            "events": {
                "change": function () {
                    console.log(this.getValue());
                }
            }
        }
    }
};

传递这个对象我说:在 alpaca 生成的表单中向字段 "id" 添加一个更改事件。在那个函数中使用 "this" 给我库的 "this",而不是打字稿 class "this".

问题:如果我想在 Typescript class 中调用方法或变量怎么办?我将不得不使用 "this",但是 "this" 绑定到 alpaca/javascript 这个。我无法将其更改为 (event) => { ... }{ ...}.bind(this),因为那样我可以访问打字稿 "this",但我无法访问 alpaca/javascript 这个,我需要两者他们....

i CAN'T access the alpaca/javascript this, i need both of them

在创建函数之前使用标准 javascript 捕获 this 的技巧:

let _self = this;
this.options = {
    "collapsible": false,
    "fields": {
        "id": {
            "events": {
                "change": function () {
                    console.log(_self.getValue());  // the class instance
                    console.log(this); // the lib version 
                }
            }
        }
    }
};

此提示也记录在此处:https://basarat.gitbooks.io/typescript/content/docs/arrow-functions.html