2017-02-04 3 views
1

私のポートフォリオのウェブサイトをAngular 2で編集しており、スキルマトリックスを追加したいと考えています。これはどんなsvgのイメージか文字かもしれませんが、テストのために私はfont-awesomeによって提供される正方形を使用します。角度2値に達するまでアイコンを繰り返します。

<tbody *ngFor="let skill of skills"> 
<tr> 
    <td>{{skill.name}}</td> 
    <td>{{skill.mastering}}</td> 
    <td>{{skill.classification}}</td> 
</tr> 

skill.masteringは0から10までの値であると考えはskill.mastering値に達するまで、各番号の<i class="fa fa-square" aria-hidden="true"></i>一度使用することです。私はこれをどのように実装するのか分かりません。他の言語で、私は擬似でこのような何かを記述します。

while skill.mastering > 0 
print square 

答えて

1

あなたはこの例を使用することができます。

<tbody> 
    <tr *ngFor="let skill of skills"> 
    <td>{{skill.name}}</td> 
    <td> 
     <i *ngFor="let key of counter(skill.mastering)" class="fa fa-square" aria-hidden="true"></i> 
    </td> 
    <td>{{skill.classification}}</td> 
    </tr> 
</tbody> 

はあなたcomponent.tscounter = Array;

にこのを追加したり、別のものを選びますどのようにここから同じ結果を達成する方法Angular 2 - NgFor using numbers instead collections

+0

私はこのコードを実行すると、私はエラーを以下の取得: core.umd.js:3525 EXCEPTION:でエラーapp/app.component.html:9:13の原因:self.parentView.context.counterは関数ではありません – JanVanHaudt

+0

答えが更新されました。コンポーネント内のカウンタも宣言する必要があります。 – Vojtech

1

私はあなたの質問を理解した場合正確には、あなたは* ngIfを探していると思います。

<tbody *ngFor="let skill of skills"> 
    <tr> 
     <td>{{skill.name}}</td> 
     <td *ngIf="skill.mastering >0"> 
      <i class="fa fa-square" aria-hidden="true"></i>{{skill.mastering}} 
     </td> 
     <td>{{skill.classification}}</td> 
    </tr> 
</tbody> 

と私はあなたの*を考えるngFor <tr>タグにする必要がありません<tbody>タグ

<tbody> 
     <tr *ngFor="let skill of skills"> 
      <td>{{skill.name}}</td> 
      <td *ngIf="skill.mastering >0"> 
       <i class="fa fa-square" aria-hidden="true"></i>{{skill.mastering}} 
      </td> 
      <td>{{skill.classification}}</td> 
     </tr> 
</tbody> 
+0

値が0を超えているときに正方形を表示したい場合、答えは正しいです。考え方は(値*四角)を表示することです。 値が8の場合、8つの正方形、6つの正方形が6になります。 – JanVanHaudt

+0

@JanVanHaudt次にネストされた* ngForが必要です。 on second * ngForは数字であり、数字で配列を作成するパイプを使用できます。 * ngFor on numberは角度2でサポートされていないためです。では、単にパイプを使用して配列を作成する方法を確認してください。 http://stackoverflow.com/questions/36535629/repeat-html-element-multiple-times-using-ngfor-based-on-a-number私はこれが助けてくれることを願っています:) –

関連する問題