Ошибка сборки: свойство «controls» не существует для типа «AbstractControl».
1 ответ
loginFormGroupNew.controls
возвращает
AbstractControl[]
.
Таким образом, даже если контроль
loginFormGroup
контролировать, что вы получаете, это , Typescript не может сделать вывод об этом.
Более простой способ получить управление от
FormGroup
заключается в использовании метода
get()
поскольку он даже позволяет вам получать ссылки на вложенные элементы управления. В вашем случае вы можете использовать:
loginFormGroupNew.get('loginFormGroup.mobileOTP')
чтобы получить ссылку на управление mobileOTP напрямую.
Чтобы избежать многократного повторения этого фрагмента кода в вашем шаблоне для получения ссылки на один и тот же элемент управления, вы можете создать метод получения в своем классе и использовать его в шаблоне.
get mobileOTPControl(): FormControl {
return this.loginFormGroupNew.get('loginFormGroup.mobileOTP') as FormControl;
}
...
<Image ... *ngIf="mobileOTPControl.errors" ...>
Таким образом, вы можете привести элемент управления к правильному типу, и если в будущем ваша модель формы изменится, вам просто нужно настроить доступ к этому элементу управления только в одном месте.
ваше здоровье