Angular 2 - ExpressionChangedAfterItHasBeenCheckedError

时间:2017-08-11 21:04:25

标签: javascript angular typescript

我正在尝试在我创建的表中填充多行。该表成功填充,但是我收到错误:

" ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后发生了变化。以前的价值:' 1'。当前价值:'啊'。"

这不是一个真正的问题,因为错误不会导致我的程序或其他任何事情崩溃,但每当我更改表格中的任何单位时,它都会改变所有单位的值。单位为"当前值"是在上面的错误。 (在这种情况下,我做了'啊,'见下面的代码)

这就是我填写表格的方式:

<div class="row-container">
  <div *ngFor="let week of getWeeks()" class="row">
    <input class="week" maxlength="2" (input)="type($event.target.value, week)" value="{{getCapacity(week)}}">
  </div>
</div>


这就是我更新价值的方式:

getCapacity(week: Date): string {
    if (<conditions are met>) { 
        const capacity = EntryComponent.capacity[EntryComponent.index];
        EntryComponent.index++;
        return capacity.value;
    }
    return 'ah';
}

我没有使用动态组件作为标记,而是动态更改输入标记的值。

0 个答案:

没有答案