这个问题可以通过在一个订阅中订阅表单控件值变更来解决。
先定义一个表单组:
form = new FormGroup({
items: new FormArray([])
});
然后在ngOnInit()
方法中创建表单控件,这里创建一个简单的文本框:
ngOnInit() {
this.form.get('items').valueChanges.subscribe((values) => {
console.log('valueChanges works!');
});
this.form.get('items').push(new FormControl('First item'));
}
然后在对表单值进行更改操作时,订阅中的代码就会被触发了:
changeItem() {
const items = this.form.get('items') as FormArray;
items.at(0).setValue('Changed item');
}