Почему я получаю такую ошибку? ошибка TS2564:

#angular #typescript

#angular #машинопись

Вопрос:

импортируйте { FormGroup, FormControl, валидаторы} из ‘@angular/forms’;

create-post.component.ts

 createPostForm: FormGroup;
 

create-post.component.html

 <form [formGroup]="createPostForm" (ngSubmit)="createPost()">
 

Я получаю ошибку в блоке createPostForm: FormGroup, который я создал в create-post.component.ts.

ошибка TS2564: свойство ‘createPostForm’ не имеет инициализатора и определенно не назначено в конструкторе.

Комментарии:

1. Вы где-нибудь установили createPostForm фактическое значение? В большинстве случаев просто объявить его как тип недостаточно.

2. Сообщение об ошибке довольно четкое, не так ли? Вы объявили, но не инициализировали свое свойство createPostForm . Ни при объявлении, ни в конструкторе. Присвоить значение createPostForm

Ответ №1:

вы должны инициализировать форму createpost следующим образом:

 createPostForm: FormGroup = new FormGroup({
first: new FormControl('first name'),
last: new FormControl('last name')
});
 

или

 createPostForm: FormGroup;

constructor() {
    createPostForm=new FormGroup({
        first: new FormControl('first name'),
        last: new FormControl('last name')
   });
}
 

Подробная информация:

https://angular.io/api/forms/FormGroup#reset-usage-notes