我正在使用在ngfor中循环的ngclass中的方法。 循环时,方法返回值始终发生变化。
但是我收到了像
这样的错误错误错误:ExpressionChangedAfterItHasBeenCheckedError:Expression 检查后发生了变化。之前的价值:' background_pink'。 当前价值:' background_blue'。
代码就像这样
component.ts
getRandomColor() {
const changedColor = _.sample(this.colors);
return changedColor;
}
component.html
<a href="https://www.leelag.com/tag/laravel" *ngFor="let tag of bookDetails.tags">
<label [ngClass]="['label', 'well', 'well-sm', getRandomColor()]">{{ tag.name }}</label></a>
循环播放时始终显示上述错误。 怎么解决这个问题?
答案 0 :(得分:1)
您似乎正在更新循环代码中的变量/值。
* ngFor 在逻辑循环迭代时无法理解更新后的值。