У меня есть приложение с компонентом динамических форм, что-то вроде этого stackblitz:
https://stackblitz.com/edit/angular-g3a7cm?file=src%2Fapp%2Fform.component.ts&devtoolsheight=50
Form.component загружает схему и некоторые данные с сервера. Если данные были загружены для определенного поля, он помечает их как грязные, вызывая markAsDirty (). Это так, если загружаются грязные автоматически сохраненные данные, правильные сообщения проверки могут отображаться немедленно.
Существует также form-field.component, у которого есть функция, которая оценивает отключенное состояние и отключает / включает поле.
Я получаю сообщение об ошибке при первом отключении какого-либо поля в форме.
Если я закомментирую любую из этих строк, ошибка исчезнет:
form.component.ts: 50 form-field.component.ts: 42
Кто-нибудь знает, почему это происходит и как я могу это исправить?
Я просмотрел другие похожие вопросы, но, похоже, ни один из них не совпадает с моей конкретной проблемой.
Спасибо, что посмотрели.
редактировать:
Кроме того, если я помещаю первоначальный вызов evalDisabled () в setTimeout, он исправляет его. (form-field.component.ts: 32) Я думал, что суть реактивных форм в том, что они должны допускать синхронную логику. Почему я должен это делать?
Спасибо, что заглянули, но я уже решил эту проблему. Оказывается, это ошибка, связанная с ngFor. Если вам интересно, вы можете найти подробности здесь: github.com/angular/angular/issues/24563
Спасибо, что поделились этой ссылкой



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы все еще сталкиваетесь с этой проблемой или ожидаете хорошего решения?