Angular:ReferenceError:未定义'function'

时间:2017-06-23 08:36:00

标签: angular typescript

我有一个简单的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?

2 个答案:

答案 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引用即可访问。