ExpressionChangedAfterItHasBeenCheckedError в Angular 2 / Angular5
Сообщение об ошибке:
ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'ng-untouched: true'.
Текущее значение: 'ng-untouched: false'.
Пожалуйста, добавьте минимальное воспроизведение вашей проблемы, иначе мы не сможем вам помочь, поскольку мы не знаем, что вы делаете в данный момент.





Я не уверен, чего вы этим пытаетесь достичь, но вот простой стек с рабочим примером: https://stackblitz.com/edit/angular-bm9lyn
При использовании [(ngModel)] вам не нужно использовать событие (ngModelChange).
он может изменять значение свойства, поэтому он получает ошибку
Проблема здесь в том, что вы используете (ngModelChange)
Но если вы хотите использовать это, то код вроде этого
<input type = "checkbox" [(ngModel)] = "result" (ngModelChange) = "fnCheck($event)">
fnCheck(event) {
Promise.resolve(null).then(() => this.anyproperty = event);
//or
setTimeout(() => {
this.anyproperty = event;
});
}
используя обещание, вы запустите код после цикла обнаружения изменений
Скажите мне, чего вы пытаетесь достичь.