在此示例下
parentComponent {
text = 'dsfsdf';
}
childComponent implements Oninit {
@Input() text;
ngOnInit() {
this.text = 'something else';
}
}
这为什么不引起ExpressionChangedAfterItHaHasBeenCheckedError?发生此错误的简单方法是什么?
答案 0 :(得分:0)
这不会触发ExpressionChangedAfterItHasBeenCheckedError
,因为更改@Input
参数的值不会触发任何事件给父对象,因此根本不会重新呈现。
使此错误发生的简单方法:
<div>{{functionThatReturnsDifferentValueOnEveryCall()}}</div>
...
count = 0;
functionThatReturnsDifferentValueOnEveryCall() {
return count++;
}