在ngOnInit中手动触发一次ValueChanges
解决该问题的方法是在component的ngOnInit函数中手动触发一次ValueChanges,这样第一次输入就会触发该事件。
示例:
@Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.css'] }) export class MyComponentComponent implements OnInit {
myForm: FormGroup;
ngOnInit() {
//初始化表单
this.myForm = this.fb.group({
name: ['', Validators.required],
age: ['', Validators.required],
email: ['', Validators.required],
});
//手动触发一次ValueChanges
this.myForm.valueChanges.subscribe(() => {
console.log('Value changed!');
});
}
constructor(private fb: FormBuilder) { }
}
注意,在使用手动触发方法时,应该确保在表单初始化后立即调用它,否则会出现错误。