When a component is rendered, content inside it is ignored, for example:
import { Component } from \'@angular/core\';
@Component({
selector: \'app-root\',
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