2017-02-22 22 views
0

私はAngular2を学んでいますので、愚かな質問をしている場合は私を許してください。私は、オブジェクトの配列を受け付けておりますし、それは次のようになります。オブジェクトの配列で* ngForを使ってループする方法は?

this.fruits = data[0].item; 

問題:私はスコープ内のスコープにそれを管理している私のコンポーネントファイルで

obj.json

data: [ 
     { 
      item: "banana" 
     } 
    ], 
    [ 
     { 
      item: "apple" 
     } 
    ], 
    [ 
     { 
      item: "lemon" 
     } 
    ] 

私は最初の項目、または2番目の項目などの範囲をインデックスで管理するだけですか?それらをすべてどのようにスコープしてから、*ngForというHTMLファイルに表示できますか?

ありがとうございました

+0

:オブジェクトのプロパティ、使用を反復するために

。 –

答えて

3

あなたの配列は無効ですJavaScript。

data: [ 
     { 
      item: "banana" 
     }, 
     { 
      item: "apple" 
     }, 
     { 
      item: "lemon" 
     } 
    ] 

その後、あなたは、このようなデータを反復処理されます::

<li *ngFor="let fruit of data"> 
    <b> {{fruit.item}} </b>   
</li> 
+0

私はすべてのオブジェクトを配置しませんでしたが、キー項目の他にも多くのキーがあります。私にとって重要なのは、インデックスを介して配列をループしてそれらをすべて得る方法です。 indexexの数が分かりません。 – tholo

+0

@tholo問題はキーの数ではなく、角かっこの配置です。基本的に単一のオブジェクトの配列のリストがありますが、これは有効なJavaScriptではありません。 –

+0

あなたは私を理解できませんでした。私は単一のオブジェクトの配列のリストを持っていませんが、そこに他のオブジェクトもありますが、私の例では重要ではないので、それらの名前は付けませんでした。 – tholo

1

あなたのオブジェクトが有効でないデータを仮定すると、実際にこのようになります。私はそれを編集しました。これは無効なオブジェクトである

<ul> 
    <li *ngFor='let elem of data'>{{ elem.item }}</li> 
</ul> 

Working plunker

1
export class SomeClass { 
    public name: String; 
    constructor(_name: String){ 
     this.name= _name; 
    } 
}  

let fruits : Array<SomeClass>[new SomeClass("banana"),new SomeClass("apple"),new SomeClass("lemon")]; 


<li *ngFor="let fruit of fruits > 
    <b> {{fruit.name}} </b>   
</li> 
関連する問題