Это будет легко, если вы предоставите TemplateRef
до UserListComponent
.
app.component.ts
@Component({
selector: 'my-app',
template: `
<app-user-list>
<ng-template let-item>
<app-user-item [user]="item"></app-user-item>
</ng-template>
</app-user-list>
`
})
export class AppComponent {}
список пользователей.component.ts
@Component({
selector: 'app-user-list',
template: `
<div class="card" *ngFor="let user of users; template: template"></div>
`
})
export class UserListComponent {
users = [
{
name: 'User 1'
},
{
name: 'User 2'
}
];
@ContentChild(TemplateRef) template: TemplateRef<any>;
}
user-item.component.ts
@Component({
selector: 'app-user-item',
template: `
<div class="card-body">
<h2 class="card-title">{{ user.name }}</h2>
</div>
`
})
export class UserItemComponent {
@Input() user: any;
}
Ng-run Пример