По какой-то причине у меня ломается куча вещей, когда я создаю свой проект angular в продакшене, который отлично работал в dev. Все они почти одинаковы, поэтому я проиллюстрирую их одним примером.
У меня есть форма, в которой в конце каждого раздела есть кнопка, которая проверяет действительность конкретной FormGroup следующим образом:
<button md-button color="primary" (click)="checkValidity(changeForm.get('changeOverviewFG'))">Check</button>
И функция выглядит так в моем классе компонентов.
checkValidity(g: FormGroup) {
Object.keys(g.controls).forEach(key => {
g.get(key).markAsDirty();
});
Object.keys(g.controls).forEach(key => {
g.get(key).markAsTouched();
});
Object.keys(g.controls).forEach(key => {
g.get(key).updateValueAndValidity();
});
}
Когда я встраиваю его в dev, все работает нормально и работает так, как задумано. Но когда я пытаюсь собрать его с помощью --prod, я получаю следующую ошибку
Аргумент типа «AbstractControl» не может быть назначен параметру типа «FormGroup».
Так вдруг он пытается прочитать FormGroup как абстрактный элемент управления в производственной среде? В любом случае в моем шаблоне у меня довольно много экземпляров, которые получают этот тип ошибки, поэтому, если возможно, исправление было бы предпочтительнее в классе компонентов.
Есть ли способ явно указать AbstractControl как FormGroup (я нигде не нашел, что это возможно) или есть другой простой способ решить эту проблему?
https://github.com/angular/angular/issues/10192 https://github.com/angular/angular-cli/issues/6099
Это были две ссылки, которые наиболее близко подошли к моей проблеме, но представленные там решения ко мне не подходят.