私はこの Typescript コードを持っています:
constructor($triggerHref: JQuery) {
// stuff...
var _this = this;
$(document).on("click",$triggerHref.selector,e=>{
e.preventDefault();
var target = $(e.srcElement).attr("data-pcc-sort-trigger");
if (target == _this.active)
_this.load(target, !_this.isDescending);
else _this.load(target, false);
});
}
行を削除してイベント ハンドラー内var _this = this;
で使用するthis
と、生成された js コードはほぼ同じように見えますが (いずれにせよ _this が生成されます)、何らかの理由this.active
でthis.load()
未定義です。
TS のスコーピングについての私の理解では、メソッドは親から()=>{}
保持され、メソッドのみが通常の JS メソッドのように機能するというものでした。this
function(){}
では、なぜこれがうまくいかないのですか?