2017-01-13 13 views
0

私の不足が、この問題に私を導いた「ngFor」ディレクティブで数ヶ月の配列を見る:角度2における知識とtypescriptですの

私は横軸の年のすべての月で(すでによく輸入)のDataTableをしたいです、およびいくつかのDBオブジェクトが縦座標に表示されます(これは問題ありません)。

私の月のリストをどのように、どこで宣言するのか、そしてhtmlでそれを閲覧する方法はわかりません。 Aこの瞬間、私はこれを持っている:

Component.ts

public months= { 
    1:'Janvier', 
    2:'Février', 
    3:'Avril', 
    etc... 
    12:'Decembre' 
    }; 

Component.html

<td *ngFor="let month of months">{{month}}</td> 

はあなたが私はそれが仕事作る助けてもらえますが(ヶ月の少なくとも生を表示)できるだけきれいな?私は

あなたは数ヶ月の配列を作成する必要があり

答えて

2

をお読みいただきありがとうございました...クラスで直接月のリストを宣言することは良いことではありません確信しています。現在、オブジェクトがあります。

public months = ["Janvier", "Février", "Avril"...]; 

それともあなたが本当にオブジェクトを持つようにしたい場合は、カスタムパイプを実装することができます。

import { Injectable, Pipe } from '@angular/core'; 

@Pipe({ 
    name: 'keyObject' 
}) 
@Injectable() 
export class KeyObjectPipe { 

transform(value, args:string[]):any { 
    let keys = []; 
    for (let key in value) { 
     keys.push({key: key, value: value[key]}); 
    } 
    return keys; 
} 
} 

そして、あなたはとしてそれを使用することができます:あなたが使用することができ、

また
<td *ngFor="let month of months | keyObject">{{month.value}}</td> 
+0

グレートideau以下のようngForで、それへのアクセスが、それを、私は私を喜ばない行を頼むたびにパイプします。少なくともあなたは私についてそれについてligntened、あなたの答えをありがとう:) – Callehabana

1

この方法で

months= [ 
     { 'id' :1 , 'name':'Janvier'}, 
     { 'id' :2 , 'name':'Février'}, 
     { 'id' :3 , 'name':'Avril'} 
    ]; 

<div *ngFor="let month in months"> 
     {{month.name}}</div> 
</div> 
+0

私は私のデータとIDをバインドする必要がため、私はこの1つを使用しました。ありがとうございました ! – Callehabana

+0

それはあなたにとって有益ですか? – Aravind

関連する問題