Ошибка сборки: свойство «controls» не существует для типа «AbstractControl».

Я получаю эту ошибку при запуске приложения nativescript.

Возникла проблема в группе вложенных форм. В чем причина проблемы. Я прикрепил свое изображение ошибки ниже,

Пожалуйста, дайте решение для этой проблемы.

код ТС:

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" ...>

Таким образом, вы можете привести элемент управления к правильному типу, и если в будущем ваша модель формы изменится, вам просто нужно настроить доступ к этому элементу управления только в одном месте.

ваше здоровье

Другие вопросы по тегам