Angular 找不到名为';称呼';
使用反应式表单获取mat select值,但出现错误,无法找到名为“SALLATION”的控件: 这是我的密码Angular 找不到名为';称呼';,angular,angular-material,angular-reactive-forms,Angular,Angular Material,Angular Reactive Forms,使用反应式表单获取mat select值,但出现错误,无法找到名为“SALLATION”的控件: 这是我的密码 <form [formGroup]="customerService.formModel" autocomplete="off" class="container" (ngSubmit)="onSubmit()"> <p class="header-p">CONTACT INFORMATION</p> <div class="for
<form [formGroup]="customerService.formModel" autocomplete="off" class="container" (ngSubmit)="onSubmit()">
<p class="header-p">CONTACT INFORMATION</p>
<div class="form-group" fxLayout="row" fxLayout.xs="column" fxLayout.md="column" fxLayout.sm="column">
<mat-form-field fxFlex="20%" appearance="outline">
<mat-label class="label-text">Salutation</mat-label>
<mat-select class="form-control" formControlName="Salutation" placeholder="Salutation">
<mat-option *ngFor="let salutation of salutations" value="salutation">{{salutation}}</mat-option>
</mat-select>
<mat-icon class="icon-color" matSuffix>person</mat-icon>
</mat-form-field></div></form>
服务文件
export class CustomerService {
constructor(private fb: FormBuilder){ }
formModel:FormGroup =new FormGroup({});
ngOnInit(): void {
this.formModel = this.fb.group({
Salutation:['',Validators.required]})
有什么问题?我似乎无法理解我认为问题在于formGroup没有称呼,因为您在服务中使用了ngOnInit钩子,并且根据我的研究,它在服务中没有被调用。 尝试记录表单组并在构造函数中构建表单
export class CustomerService {
formModel:FormGroup;
constructor(private fb: FormBuilder) {
this.formModel = this.fb.group({
Salutation:['',Validators.required]});
}
应该是一个评论,但以我的声誉,我无法评论。看起来您的html的顺序不正确,请检查它是否有效。您的意思是什么?好的,我会检查HTML,看看有什么问题。我找不到任何东西。它与材料有关吗?为什么它不能识别问候语?是的,formModel在CustomerService中,我在组件构造函数中注入了名为“CustomerService”的服务类。我照你说的做了。在构造函数中构建表单,但现在给我一个错误:无法读取未定义书籍的属性“formModel”,例如您的服务未正确注入,您是否将其添加到提供者和组件构造函数中?好的,那么我不知道抱歉,错误消息表明,如果服务未定义,则访问服务formModel属性。检查命名并在组件构造函数中记录服务。祝你好运
export class CustomerService {
formModel:FormGroup;
constructor(private fb: FormBuilder) {
this.formModel = this.fb.group({
Salutation:['',Validators.required]});
}