Директива [formControl]
принимает FormControl
в качестве значения, и вы передаете ему число, следовательно, Не удается найти элемент управления с неопределенным атрибутом имени . Для доступа к formControls по индексу у меня будет либо массив-обертка, либо отдельный массив:
const wrappingArray = guidelines.fields.map(field => ({formControl, ...field}));
И используйте это
<div *ngFor="let field of wrappingArray; let i=index">
<mat-form-field>
<input [formControl]="field.formControl" ngDefaultControl matInput placeholder={{field.field_name}} value={{field.notes}}>
</mat-form-field>
</div>
Или с отдельным массивом
const formControls = [formControl1, ... formControlN];
И используйте это
<div *ngFor="let field of guidelines.fields; let i=index">
<mat-form-field>
<input [formControl]="formControls[i]" ngDefaultControl matInput placeholder={{field.field_name}} value={{field.notes}}>
</mat-form-field>
</div>