2017-09-18 10 views
0

htmlセレクタのコンポーネントにクラスを追加する正しい方法は何ですか?私は複数のapp-tile要素を持っており、それぞれに別のクラスを追加したいと思っています。私は単純にクラス 'タイル1'をアプリケーションタイルセレクタに追加しようとしましたが、tile.component.scssがそれを見ています。どのように動作させる?Angular2からクラスへコンポーネントを送信

tile.component.html:

<app-tile 
    class="tile-one" 
    [title]="'title one'" 
></app-tile> 
<app-tile 
    class="tile-two" 
    [title]="'Title two'" 
></app-tile> 
+0

1)は、 'tile.component.ts'と同じレベルの' tile.component.scss'ですか? 2)は 'tile-one'と' tile-two'クラスが 'tile.component.scss'の中に置かれていますか? 3) 'tile.component.scss'は' stylesUrls'セクションの 'tile.component.ts'で参照されていますか? **質問の 'tile-component.ts'からコードスニペットを貼り付けてください。 – meorfi

答えて

0

[ngClass]ディレクティブを使用してください。

<div *ngFor="let item of collection"> 
    <label>Name: {{item.name}}</label> 
    <button class="btn" 
      [ngClass]="{'item-updated' : item.isDirty}" 
      [attr.title]="item.isDirty ? 'Item was updated' : null"> 
     Save 
    </button> 
</div> 
+0

私はタイルのそれぞれが別の[タイトル]と[コンテンツ]を持っているので、ngForを使うべきではありません。または、私はこのためのより良い方法は分かりません! –

+0

@krolkarpiiそれはちょうどデモだった。あなたのシナリオでは '* ngFor'なしで行くことができます。重要なスニペットは '[ngClass]'であり、別の可能性は '[class.yourClass] ="条件付き "です。より多くのコードで質問を更新することができれば、より良い答えがあなたの問題を公式化することができます。 – meorfi

関連する問題