如何向对象添加功能?

时间:2019-06-17 14:40:47

标签: angular angular7

我有对象:

  public functions = {
    chosenYearHandler: null,
    chosenMonthHandler: null
  };

有方法:

  public chosenMonthHandler(normalizedYear: any) {
    this.form.controls["date"].setValue(normalizedYear);
  }

我将对象的填充方法如下:

this.functions.chosenMonthHandler = this.chosenMonthHandler;

然后在模板中,我尝试调用以下方法:

   (monthSelected)="functions.chosenMonthHandler($event, dp)"

它说:

FilterMobileComponent.html:420 ERROR TypeError: Cannot read property 'chosenYearHandler' of undefined
    at Object.eval [as handleEvent]

我该怎么办?

1 个答案:

答案 0 :(得分:1)

尝试使用“扁平箭头”定义您的函数,如

chosenMonthHandler= (normalizedYear: any) => {
   this.form.controls["date"].setValue(normalizedYear);
}

因此,“ this”将成为组件(我只是找到了有关平面箭头功能的不错的explanation