Свойство controls не существует для типа AbstractControl - angular8 - PullRequest
0 голосов
/ 28 мая 2020

В компоненте, который у меня есть

  @Input() CaseFormIn: FormGroup;
get f() { return this.CaseFormIn.controls; }

В шаблоне

 <div class="error-message" *ngIf="this.f.generalInfoFormGroup.controls.primaryStore.touched&&this.f.generalInfoFormGroup.controls.primaryStore.errors">
           Primary Store is a Required Field.
        </div>

в коде разработки работает нормально, но ошибка ниже в режиме prod Свойство 'controls' не существует для типа ' AbstractControl '.

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Angular показать такую ​​проблему, когда у вас есть ошибка в коде. Иногда информации нет ... Также хорошей практикой является создание нескольких геттеров для элементов управления.

1 голос
/ 28 мая 2020

попробуйте

get primaryStore() { return (this.CaseFormIn.controls.generalInfoFormGroup as FormGroup).controls.primaryStore; }

и в шаблоне

 <div class="error-message" *ngIf="primaryStore.touched && primaryStore.errors">
      Primary Store is a Required Field.
 </div>
...