2016-07-10 40 views
1

我是Angular2中的新成員。我想在一個到取出兩個陣列狀波紋管:如何使用ngFor獲取兩個陣列

[ARRAY1]在[數組2]

例如,我有兩個陣列,所述第一對名稱和第二對年齡和我想有像這樣的輸出:年齡

而且我知道它是可以使用這個二維數組,但我不想。 我想知道哪些可能通過ngFor?

這是我的角碼:

@Component({ 
    selector:'peaple', 
    template: ` 
     <h2>{{title}}</h2> 
     <ul> 
      <li *ngFor="#name of names"> 
       {{name}} in {{ages}} age 
      </li> 
     </ul> 
     ` 
}) 
export class PeapleComponent{ 
    title = "Example"; 
    Names =["N1","N2","N3"]; 
    Ages=["20","15","37"]; 
} 

,我想這樣的結果(但不以陣列格式變化)20歲

  • N1
  • N2在15歲
  • N3在37時代
  • +0

    你可以把你的陣列在這裏?謝謝! – AngJobs

    +0

    你能舉一個你想要的具體例子嗎?我現在很不清楚。 –

    +0

    是的,但由於該代碼不是有效的代碼,我們只能猜測它應該做什麼。結果應該是什麼?你想要生成什麼HTML?我的猜測是你想要做皮埃爾·厄本的回答顯示的內容,但事實並非如此。 –

    回答

    4

    試試這個:

    <ul> 
         <li *ngFor="let i of Names; let k = index"> 
         {{i}} in {{Ages[k]}} age 
         </li> 
        </ul> 
    
    2

    這看起來更像是一個數據建模問題。

    我建議你兩個數組合併成一個具有以下人接口:

    { name: string, age: number } 
    

    所以,你的陣列將有一個類型[]的人。然後在模板中可以使用結構指令* ngFor如下:

    <li *ngFor="let person of array"> 
        {{person.name}} is {{person.age}} year old 
    </li> 
    
    +1

    如果你真的想保留這兩個數組,那麼你可以在{{age [i]}}年齡中使用* ngFor =「讓名字命名;讓我=索引」,然後{{name}}。 –

    +0

    非常感謝:) –