제목에 내가 ExpressionChangedAfterIsHasBeenCheckedError
이 표시되고 this article을 읽은 후 불일치를 방지하기위한주의 사항이 있음을 이해했습니다. 그 단어들 말이야. 그래서 어느 시점에서 저는 단방향 흐름 (아마)을 위반하고있을 것입니다. 내가 가지고있는 항목 :각도 2의 드롭 다운 목록을 업데이트하여 ExpressionChangedAfterIsHasBeenCheckedError
드롭 다운 상자.
<select id="product" [(ngModel)]="model.searchParameters.productId">
<option *ngFor="let product of products [value]="product.id">{{product.name}}</option>
</select>
checkIban을 트리거하는 입력 상자.
<div *ngIf="checkIban(productnumber, searchForm)">
//show validation errors
</div>
checkIban(field: any, form: any): Boolean {
if(field.dirty)
{
if(field.viewModel.length === Productnumber.Iban)
{
this.model.searchParameters.productId = Product.Ibannumber;
}
}
}
나는 불행하게도 나를 위해, 충분히 잘하지 정말이 문제에 대한 적절한 솔루션을 적용하려면 ExpressionChangedAfterIsHasBeenCheckedError
의 개념을 이해 생각하고 싶습니다.
사용 (예상치 못한 상태 (문서에서 작성한 것처럼)) setTimeout
을 사용할 수 없습니다 (시도했습니다). 누군가 내가 잘못하고있는 것에 관해 어떤 조언을 해줄 수 있습니까?
일반적으로 변경 감지 중에 바운드 값이 변경되면 발생합니다. 'checkIban'이 왜 불려지나요? –
답변을 업데이트했습니다. –
'checkIban()'메소드는 값을 반환하지 않기 때문에 작동하지 않습니다. –