ng-container
| |
| |
使用场景
| |
|
@Component({
selector: 'app-table',
template: `
<div *ngFor="let line of data">
<ng-container *ngTemplateOutlet="lineHeaderTmpl,context: { $implicit: line }"></ng-container>
<div *ngFor="let element of line.values">
<ng-container *ngTemplateOutlet="lineContentTmpl,context: { $implicit: element }"></ng-container>
</div>
</div>
`
})
export class AppTableComponent {
@Input() data: any;
@ContentChild('lineHeader') lineHeaderTmpl: TemplateRef<any>;
@ContentChild('lineContent') lineContentTmpl: TemplateRef<any>;
}
<app-table [data]="myData">
<ng-template #lineHeader let-line>
<div>{{line.name}}</div>
</ng-template>
<ng-template #lineContent let-element>
<div>{{element.name}}</div>
</ng-template>
</app-table>