更改时的角度设置输入等于包含函数的变量

时间:2018-07-25 20:26:52

标签: angular typescript angular-forms

我知道你可以做类似的事情

<input (input)="doSomething($event)" />
<input (input)="boolVar = $event.target.value > 5" />

但是我该怎么做

funcVar = (e) => {
  console.log(e.target.value)
}

<input (input)="funcVar" />

我尝试了其他类似的事情

<input [input]="funcVar" />
<input [(input)]="funcVar" />

但是没有运气。我这样做的原因是我们的表单是根据数据集生成的,所以它们是我可以添加的唯一方法,例如通过将变量传递给生成表单的变量。

1 个答案:

答案 0 :(得分:2)

事件处理程序应调用该函数。标记为:

<input (input)="funcVar($event)" />

funcVar成员定义为:

public funcVar = (e) => {
  console.log(e.target.value)
}

如果稍后将其他方法分配给funcVar,则在触发input事件时将执行该新方法:

someMethodExecutedLater() {
  this.funcVar = (e) => {
    // From now on, this new function will be called by the event handler
    ...
  }
}