Angular Reactive FormGroup的值更改不会在observable中发出更改的解决方法是使用valueChanges()方法来订阅表单值的变化。
以下是一个示例代码:
在组件的构造函数中,首先初始化一个FormGroup,然后订阅FormGroup的valueChanges()方法:
import { Component } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';
@Component({
selector: 'app-form',
template: `
`,
})
export class FormComponent {
myForm: FormGroup;
constructor(private fb: FormBuilder) {
this.myForm = this.fb.group({
myInput: ['']
});
this.myForm.valueChanges.subscribe(value => {
console.log(value); // 在这里可以处理表单值的变化
});
}
}
在这个例子中,我们创建了一个名为myForm的FormGroup,并在构造函数中初始化了一个名为myInput的FormControl。然后,我们使用valueChanges()方法来订阅myForm的值的变化,并在每次变化时打印出新的值。
这样,当用户在表单中输入文本时,每次输入都会触发FormGroup的值的变化,并通过valueChanges()方法将新的值发出到订阅该方法的observable中。