出现这个错误可能是因为在表单控件中使用了formControlName,但没有在父级元素中使用formGroup指令。
使用formControlName必须将父级元素设置为formGroup,这样才能将表单控件和formControl关联起来。以下是一个示例代码:
在HTML文件中:
在component.ts文件中:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent implements OnInit {
myForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.myForm = this.formBuilder.group({
username: ''
});
}
}
在这个例子中,父级元素form的formGroup属性被设置为myForm,这个myForm变量是一个FormGroup对象,它包含了一个名为“username”的FormControl。FormControl与input元素使用formControlName属性进行绑定。
这样设置后,Angular就会正确识别FormControlName并将其与父级FormGroup进行关联。