在Angular@13中,如果您的表单使用了响应式表单(Reactive Forms),并且您发现formGroup的值为空,那么请检查以下几个问题:
在组件中,您需要导入FormGroup和FormBuilder,并在ngOnInit()函数中创建并初始化表单:
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';
@Component({
selector: 'app-form',
templateUrl: './form.component.html',
styleUrls: ['./form.component.css']
})
export class FormComponent implements OnInit {
formGroup: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit(): void {
this.formGroup = this.formBuilder.group({
name: '',
email: '',
password: ''
});
}
}
您需要确保表单中的控件像上面的示例一样被创建,并且每个控件都有一个名字和一个初始值。
另外,您需要验证是否注册了每个控件的值改变事件(valueChanges)。
比如,添加以下代码:
this.formGroup.get('name').valueChanges.subscribe(value => {
console.log('name value: ', value);
});
最后,检查HTML模板,确保您已经正确地将formGroup绑定到表单元素上,例如:
如果您还是发现formGroup的值为空,可以考虑添加更多的验证代码以进一步调试。
希望这个解决方案对您