私はAngular 4アプリで作業しています。このアプリでは、ユーザーにログインを提示します。ログインが失敗する場合があり、戻ったときにエラーをリッスンします:-
.subscribe(error => {
this.error = error;
});
これはうまく表示され、これを示します:-
<div *ngIf="error">
<p class="error-message">{{ error.ExceptionMessage }}</p>
</div>
これは、クラスのあるユーザー名とパスワードの標準入力フィールドです。次のことをせずにこれにerror
クラスを追加できるようにしたかった:-
<div *ngIf="error">
<input type="email" class="form-control" />
</div>
<div *ngIf="!error">
<input type="email" class="form-control error-field" />
</div>
Ifの両側で入力を2回レンダリングするよりも良い方法はありますか?
ありがとう!
クラスバインディングを使用してこれを行うことができます。
<input type="email" class="form-control" [class.error-field]="error">
ええ、次のようなngClass
属性を使用するより良い方法があります。
<input type="email" [ngClass]="{'form-control': true, 'error-field': error}" />
NgClassまたはNgStyleを探していると思います: https://angular.io/api/common/NgClasshttps://angular.io/api/common/NgStyle