1. ホーム
  2. typescript

Angular 2でngClassは三項演算子を使えるか?

2023-09-29 03:08:19

質問

Angular 1では、以下のコードがうまく動作します。

<div ng-class="$varA === $varB ? 'css-class-1' : 'css-class-2'">

しかし、私はAngular 2で同様のことをしようとしたとき。それは動作しません。

私はすでに directives: [NgClass]

<div [ngClass]="varA === varB ? 'css-class-1' : 'css-class-2'">

Angular2でどのように書けばいいのでしょうか、ありがとうございます。

EDIT: 私のミスです、誤って { } を全体の varA === varB ? 'css-class-1' : 'css-class-2' . というわけで、ngClassはAngular 2でも三項演算子を使うことができます。

どのように解決するのですか?

はい、そうです。あなたが書いたものは動作します。

<div [ngClass]="varA === varB ? 'css-class-1' : 'css-class-2'">

プランカー

右辺の式の結果は、以下のいずれかに評価されなければならない。

  • スペースで区切られた CSS クラス名の文字列 (これは式が返すものです)
  • CSSクラス名の配列
  • CSSクラス名をキーとし、ブール値を値とするオブジェクト。

もしかしたら、あなたのコードに他のエラーがあったのかもしれませんね?