2017-10-05 18 views
1

ngForループの内部要素に異なるクラスを追加するにはどうすればよいですか?ngForループ内にクラスを追加する

<div *ngFor="let article of articles"> 
    <div> 
    <h3>{{article.name}}</h3> 
    <p>{{article.body}}</p> 
    </div> 
</div> 

だから私は2つの質問があります:どのように私は彼らのために(第一、第二、第三)に基づいて、すべての生成された記事のH3要素に異なるクラスを追加するとどのように私は追加するのですが、私はスニペットを持っている、と言います奇数偶数次数に基づくh3要素へのクラス?

+1

サイドノートと同じように、すべてのループdivに同じIDを設定しています。これは他のエラーにつながる文字列 '' article "'です。 – Pac0

+0

ありがとう、実際にはそこにはないはずです – mikebrsv

答えて

4

ngForOfに現在の反復のインデックス、奇数、偶数を取得し、それをngClassと組み合わせてクラスを設定できます。

<div *ngFor="let article of articles; index as i; even as isEven; odd as isOdd"> 
    <div id="article"> 
    <h3 [ngClass]="{'odd': isOdd, 'even': isEven}">{{article.name}}</h3> 
    <p>{{article.body}}</p> 
    </div> 
</div> 

インデックス/位置をどのように使いたいかは言わないので、コードはありません。上記のサンプルコードとドキュメントに基づいて、その部分を理解することができると確信しています。 Paco0 @として


も多分あなたはid="{{article.id}}"または類似のものであることをid="article"を意味指摘?

+0

isEvenはデフォルト機能ですか? –

+1

idは単にhtml属性である限り、 "article.id"は実際の記事IDではなく、article.id "という文字列になります。 'id =" {{article.id}} "'のようなものが必要です。 – Pac0

+0

@artgb - いいえ、 'even'は' isEven'は 'even'のエイリアスです。 – Igor

関連する問題