Add <ng-content></ng-content>
to the component’s template where the content should be projected:
@Component({
selector: 'app-demo',
template: '<div>{{title}}</div>
<br>
<ng-content></ng-content>',
})
export class DemoComponent {
title="Works!";
}
Content to be projected:
<app-demo>This is projected content!</app-demo>
The output will be:
Works!
This is projected content!
Here is a great article about Angular Content Projection (Angular 1 Transclusion): Transclusion in Angular 2 with ng-content