2016-11-23 12 views
3

オブジェクトの配列内にある配列の品質を表示する必要があります。以下のコードを使用してngForに電話してみました。 ngForの私の使用に何か問題がありますか?ngFor角度2を使用してオブジェクトの配列内に配列を表示する方法

import { Component} from '@angular/core'; 

@Component({ 
    selector: 'my-app', 
    template: `<table> 
        <thead> 
        <tr> 
         <th>Name</th> 
         <th>Quality1</th> 
         <th>Quality2</th> 
        </tr> 
        </thead> 
        <tbody> 
         <tr *ngFor"let item of people"> 
         <td>{{item.Name}}</td> 
         <td *ngFor"let item of people.quality">item.quality1</td> 
         <td *ngFor"let item of people.quality">item.quality2/td> 
         </tr> 
        </tbody> 
       </table> 
    }) 

    export class AppComponent{  
    people: any = [{Name:"John", quality:[{quality1: "nice", quality2: "humble"}]}, {Name:"Dave", quality:[{quality1: "kind", quality2: "caring"}]} ]; 
    } 

現在のところ、名前のみが表に表示されていますが、品質も表示したいと思います。

+0

は何ですか2番目と3番目のループはやっているはずですか?すべての人に2つの資質がありますか?地図の品質はどうしてですか?なぜループ内の各人の名前として 'i'を使うのですか?閉鎖バックティックもありません。 – jonrsharpe

+0

@jonrsharpe 2番目と3番目のループは、人の品質を表示するつもりです、私は "人のアイテムを許可する"と "私の実際のコードで"人々の品質の項目を許可するこれは単なるショートカットです – user3797088

+0

@jonrsharpeがあるどのようにngForを使用して私の配列を表示する? – user3797088

答えて

0

あなたはDOMに別の要素を導入することなく*ngForで複数のノードを結合する<ng-container>を使用することができます。

<ng-container *ngFor"let item of people.quality"> 
    <td>item.quality1</td> 
    <td>item.quality2/td> 
</ng-container> 
0

私はあなたによく理解していれば、あなたもそのように結合することができる:

    <tr *ngFor="let item of people"> 
        <td>{{item.Name}}</td> 
        <td *ngFor="let item of people.quality">{{item.quality.[quality1]}}</td> 
        <td *ngFor="let item of people.quality">{{item..quality.[quality2]}}</td> 
        </tr> 
関連する問題