2017-06-19 10 views
0

ngforでループするngclassのメソッドを使用しています。 ループが実行されると、メソッドの戻り値が常に変化します。ngclass結果のメソッドを使用するチェックした後に式が変更されました

しかし、私は、コードがこの

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> 

すべての時間のようなものです

ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'background_pink'. Current value: 'background_blue'.

のようなエラーを取得していますループするとき上記のエラーが表示されます。 これを解決するには?

+0

この問題を参照してください:https://github.com/angular/angular/issues/14748 –

答えて

1

ループコード内で変数/値を更新しているようです。

* ngForは、ロジックでループ反復するときに更新された値を理解しません。

関連する問題