我有这段 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 的作用域的理解是,()=>{}
方法不让this
他们的父母知道,只有function(){}
方法像通常的 JS 方法一样工作。
那么为什么这个对我不起作用?