Angular FormControl:setValue don';t火灾输入事件

Angular FormControl:setValue don';t火灾输入事件,angular,events,angular2-formbuilder,Angular,Events,Angular2 Formbuilder,我有一个表单,其中有一个notes字段,由一个textarea限定 this.form = this.formBuilder.group({}); this.form.addControl('notes', new FormControl('')); 模板附带了一个自动调整大小指令 <textarea formControlName="notes" autosize></textarea> 但是,当我以编程方式更改FormControl的值时,不会触发input事件,

我有一个表单,其中有一个
notes
字段,由一个textarea限定

this.form = this.formBuilder.group({});
this.form.addControl('notes', new FormControl(''));
模板附带了一个
自动调整大小
指令

<textarea formControlName="notes" autosize></textarea>
但是,当我以编程方式更改FormControl的值时,不会触发
input
事件,并且不会相应地调整textarea的大小

this.form.controls['notes'].setValue('a new value'); // not firing events

我做错了什么?

快速浏览后,您拼错了autoresize,在您的情况下,它是autosize:

<textarea formControlName="notes" autosize></textarea>

您可以绑定到将在两个事件上触发的
ngModelChange
,而不是
input

@HostListener('ngModelChange') onNgModelChange() {
  console.log('ngModelChange');
}

请参见演示:

虽然它在语法上可能不正确,但这是指令的名称。当用户输入一些东西时,调整大小工作得很好,这毫无意义。只有在以编程方式更改值时,才会出现问题。
@HostListener('ngModelChange') onNgModelChange() {
  console.log('ngModelChange');
}