2017-12-19 2 views
0

条件付きで[ngClass]を使用してforループ内に別のアイコンを表示しようとしています。 2番目の状態では完全に正常に動作しますが、最初の状態では動作しません。ngClassがAngular 4の最初の条件のためにngFor内で動作していません

<i [ngClass]="{'fa fa-heart text-warning':z.isPinned == true,'fa fa-heart-o text-warning':z.isPinned == false}" (click)=addFavorite(z,i); aria-hidden="true"></i> 

環境:角度/ CLI - 1.5.0

+0

を、あなたは全体ngForコードを投稿することができますか?ありがとうございます –

答えて

0

常に==演算子、===を使用しないでください。

また、isPinnedに真実値があるかどうか確認しましたか?

最後に、あなたは三項演算子を使用するようにしてください'fa fa-heart text-warning': z.isPinned,'fa fa-heart-o text-warning': !z.isPinned

+0

私もこれを試してみてもうまくいきません – PrabakarK

1

を簡素化することができます:

[ngClass]="z.isPinned ? 'fa fa-heart text-warning' : 'fa fa-heart-o text-warning'" 
+0

例外を取得すると、パーサーエラー:期待されていません:[{z.isPinned? – PrabakarK

+0

@PrabakarK申し訳ありません、中括弧を削除する必要があります。答えが更新されました。今すぐお試しください:) – Alex

+0

[ngClass] = "z .isPinned? 'fa fa-heartテキスト警告': 'fa fa-heart-oテキスト警告' " - これは{}なしで動作します。 – PrabakarK

関連する問題