我有一个简单的Plunkr应用,只需点击一下按钮即可将两个数字相加。
我得到一个ReferenceError: addNumber is not defined
,其中add number是一个由'onClick'处理程序调用的函数。
onClick(num1, num2){
addNumber(num1, num2).then((result) => this.result = result));
}
addNumber(x, y){
return new Promise((resolve) => {
x = parseInt(x);
y = parseInt(y);
setTimeout(() => resolve(x+y), 2000)
})
}
}
但是,如果我将function
关键字添加到addNumber
它可以正常运行,但据我所知,使用Typescript时,可以使用function
关键字。
为什么单击按钮时未定义addNumber?
答案 0 :(得分:2)
将 this
用于现有的课程自我功能
onClick(num1, num2) {
this.addNumber(num1, num2).then((result) => this.result = result));
}
答案 1 :(得分:1)
访问班级成员时,您必须使用this
:
this.addNumber(num1, num2).then((result) => this.result = result));
当您将function
关键字添加到addNumber
时,您将使其成为本地函数而不是类成员,从而使其无需this
引用即可访问。