2017-04-03 47 views
12

不知道爲什麼我的* ngFor循環沒有打印出來。我有一個HTML文件,下面的代碼:* ngFor ng-template輸出什麼也沒有Angular2

<table class="table table-hover"> 
    <thead> 
     <tr> 
      <th>Name</th> 
      <th>Email</th> 
      <th>Company</th> 
      <th>Status</th> 
     </tr> 
    </thead> 
    <tbody> 
     <!-- NGFOR ATTEMPTED HERE -- no content printed --> 
     <ng-template *ngFor="let xb of tempData"> 
      <tr data-toggle="collapse" data-target="#demo1" class="accordion-toggle"> 
       <td>{{ xb.name }}</td> 
       <td>{{ xb.email }}</td> 
       <td>{{ xb.company }}</td> 
       <td>{{ xb.status }}</td> 
      </tr> 
      <!-- other content --> 
     </ng-template> 
    </tbody> 
</table> 

然後,在我的簡單的組件,我有以下:

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

@Component({ 
    selector: 'my-profile-exhibitors', 
    templateUrl: './profile-exhibitors.component.html', 
    styleUrls: ['./profile-exhibitors.component.scss'] 
}) 
export class ProfileExhibitorsComponent { 
    public tempData: any = [ 
     { 
      'name': 'name1', 
      'email': '[email protected]', 
      'company': 'company', 
      'status': 'Complete' 
     }, 
     { 
      'name': 'name2', 
      'email': '[email protected]', 
      'company': 'company', 
      'status': 'Incomplete' 
     } 
    ]; 
    constructor() {} 
} 

當我運行這段代碼,我得到零輸出。甚至離奇的是,當我使用調試工具選擇元素我看到這一點:

enter image description here

看起來它正確識別我的對象,但後來什麼也不輸出。

回答

26

我想你想要的是

<ng-container *ngFor="let xb of tempData"> 

<ng-template ngFor let-xb [ngForOf]="tempData"> 
+7

謝謝!無論誰設計'ng-template'的語法都需要在股份上燒掉 –

+0

不知道你在抱怨什麼。這是正常的Angular模板語法。他們介紹''能夠在'