2016-05-23 19 views
1

ich ein Array erstellt haben es aus der Vorlage in Angular 2* ngIf mehrdimensionales Array Angular2

books: any[] = [{ 
     name: "The Name book", 
     chapter: [{ 
      name: 'Alpha', 
      pages: '180' 
     }, { 
      name: 'Beta', 
      pages: '100' 
     }] 
    }] 

Also, in der Vorlage zu nennen, würde Ich mag es nennen wie diese

<li *ngFor="#book of books" > 
      {{book.chapter.name}} 
    </li> 

Aber es funktioniert nicht, bitte um Hilfe.

Antwort

1

Die chapter Eigenschaft ist ein Array, also müssen Sie es auch an ngFor übergeben.

<template ngFor [ngForOf]="books" let-book> 
    <li *ngFor="let chapter of book.chapter"> 
     {{chapter.name}} 
    </li> 
</template> 

Check this plunk

Bitte beachten Sie, dass ich die let-book Syntax verwenden, da die #book Syntax ist veraltet.