Ik weet niet zeker waarom mijn *ngFor-lus niets afdrukt. Ik heb de volgende code in een html-bestand:
<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>
Dan heb ik in mijn eenvoudige component het volgende:
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() {}
}
Als ik deze code uitvoer, krijg ik nul uitvoer. Nog vreemder is dat wanneer ik het element selecteer met behulp van debug-tools, ik dit zie:
Het lijkt erop dat het mijn object correct herkent, maar vervolgens niets uitvoert.
Antwoord 1, autoriteit 100%
Ik denk dat wat je wilt is
<ng-container *ngFor="let xb of tempData">
of
<ng-template ngFor let-xb [ngForOf]="tempData">
Antwoord 2, autoriteit 3%
Ook voor het verkrijgen van de index: <ng-template ngFor let-xb [ngForOf]="tempData" let-index="index">