在我提出问题之前,这是我的 Typescript 类:export class Info { private currentId: number; private addToListButton: HTMLInputElement; constructor() { this.currentId = +(<HTMLInputElement> document.getElementById("Example")).value; this.addToListButton = <HTMLInputElement> document.getElementById("addToList"); this.registerEvents(); } private registerEvents(): void { this.addToListButton.addEventListener("click", (() => this.addToList())); } private addToList(): void { var data: SomeModel; data.id = this.currentId; // ajax stuff }}我的问题是当我想获得模型的“currentId”时,它总是未定义的。我可以在同一个函数中使用另一个变量“addToListButton”而不会出现问题。我看不出那里有什么问题。
2 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
在addToList()
方法中,关键字this
指的是事件上下文而不是Info
对象上下文。
要以这种方式使用,您需要将方法绑定到类。将此添加到构造函数:
this.addToList = this.addToList.bind(this);
添加回答
举报
0/150
提交
取消