Dynamiquement l'AJOUT et la SUPPRESSION de Composants Angulaire

Du cours officiel docs montre comment dynamiquement changement composants dans un <ng-template> tag. https://angular.io/guide/dynamic-component-loader

Ce que je veux réaliser est, disons que j'ai 3 composantes: header, section, et footer avec les sélecteurs suivants:

<app-header>
<app-section>
<app-footer>

Et puis il y a 6 boutons ajouter ou supprimer chaque composant: Add Header, Add Section, et Add Footer

et quand je clique sur Add Header, la page s'ajouter <app-header> à la page qui le rend, de sorte que la page va contenir:

<app-header>

Et puis si je clique sur Add Section deux fois, la page contient maintenant:

<app-header>
<app-section>
<app-section>

Et si je clique sur Add Footer, la page contient maintenant tous ces composants:

<app-header>
<app-section>
<app-section>
<app-footer>

Est-il possible de réaliser cela dans Angulaire? Notez que ngFor n'est pas la solution, je suis à la recherche, car elle permet seulement d'ajouter les mêmes composants, pas différents éléments d'une page.

EDIT: ngIf et ngFor n'est pas la solution, je suis à la recherche pour que les modèles sont déjà prédéterminé. Ce que je cherche, c'est quelque chose comme une pile de composants ou d'une gamme de composants où l'on peut ajouter, supprimer et modifier les index du tableau facilement.

EDIT 2: Pour le rendre plus clair, prenons un autre exemple de pourquoi ngFor ne fonctionne pas. Disons que nous avons les éléments suivants:

<app-header>
<app-introduction>
<app-camera>
<app-editor>
<app-footer>

Voici maintenant un nouveau composant, <app-description>, que l'utilisateur souhaite insérer dans entre et <app-editor>. ngFor ne fonctionne que si il y en a un même composant que je veux en boucle. Mais pour les différents composants, ngFor échoue ici.

Si elles sont connues, comme dans votre exemple, vous pourriez utiliser *ngIf sur l'en-tête et le pied de page *ngFor sur les sections.
ngIf et ngFor n'est pas la solution, je suis à la recherche pour que les modèles sont déjà prédéterminé. Ce que je cherche, c'est quelque chose comme une pile de composants ou d'une gamme de composants où l'on peut ajouter, supprimer et modifier les index du tableau facilement.
Cela peut aussi vous aider si vous souhaitez ajouter différents types de composants stackoverflow.com/questions/36325212/...
Merci! Cela pourrait être particulièrement utile que j'ai appris à connaître ngComponentOutlet
ngComponentOutlet manque encore quelques fonctionnalités de base. Il y a une pull request à l'adresse de ceux-ci depuis longtemps, mais qui n'avait pas encore fusionné autant que je sache. Donc, la lecture et la transmission de valeurs de/pour ajouter dynamiquement des composants ne fonctionne pas bien.

OriginalL'auteur Marcellino Corleone | 2017-07-06