Angular 2 / Angular5中的ExpressionChangedAfterItHasBeenCheckedError

时间:2018-06-15 06:22:46

标签: angular

Angular 2 / Angular5中的ExpressionChangedAfterItHasBeenCheckedError

enter image description here

错误消息:

  

错误错误:ExpressionChangedAfterItHasBeenCheckedError:Expression   检查后发生了变化。以前的值:' ng-untouched:   真'

当前值:'ng-untouched: false'

2 个答案:

答案 0 :(得分:2)

我不确定你要用这个来实现什么,但这里有一个简单的stackblitz,其中有一个工作示例:https://stackblitz.com/edit/angular-bm9lyn

使用[(ngModel)]时,您不必使用(ngModelChange)事件。

答案 1 :(得分:0)

这里的问题是你正在使用(ngModelChange)

但是如果你想使用它,那么就像这样编码

<input type="checkbox" [(ngModel)]="result" (ngModelChange)="fnCheck($event)">

fnCheck(event) {
 Promise.resolve(null).then(() => this.anyproperty = event);
 //or 
  setTimeout(() => {
        this.anyproperty = event;
    });
}

通过使用promise,您将在更改检测周期后运行代码