Si cela vous évoque la transclusion propre à AngularJS (angular 1), votre intuition est correcte. La transclusion d'AngularJS, simple possibilité d'introduire du contenu dans une directive, a été reprise avec nos bien aimés components propres à Angular 2. Imaginons un component "blague" destiné à se voir passer le contenu correspondant :
<blague>Ce qui caractérise Schwarzenegger c'est qu'il termine à tort</blague>
Dans le template du component dont le selector est 'blague', il suffit d'utiliser
<ng-content></ng-content>
pour afficher le contenu passé au component BlagueComponent, à savoir "Ce qui caractérise Schwarzenegger c'est qu'il termine à tort" ou tout autre contenu passé lors de l'utilisation du component "blague":
@Component({
selector: 'blague',
template: `
<ng-content></ng-content> // ici
`
})
export class BlagueComponent {}
Ce qui donne au total :
@Component({
selector: 'app',
template: `
<blague>Avec quoi ramasse t'on la papaye ? avec une foufourche</blague>
<blague>Facebook c'est comme la prison , on est assis et on regarde les murs</blague>
`
})
export class AppComponent {}
@Component({
selector: 'blague',
template: `
<ng-content></ng-content>
`
})
export class BlagueComponent {}
sinscrire à la newsletter pour être tenu au courant de l'actu MEAN
PS : l'équipe d'Angular insiste sur le fait qu'il ne faut plus dire Angular 2 mais simplement Angular. Mais l'habitude mettra probablement quelques mois à s'estomper.