Je souhaite modifier dynamiquement le modèle dans ngTemplateOutlet. Le ngTemplateOutlet change lorsque le fichier selectedTab est modifié.Angular 2 modifie dynamiquement le modèle dans ngTemplateOutlet
J'ai deux modèles de base ci-dessous appelés # Tab1 et # Tab2.
Remarque: J'utilise la version angulaire 4.
Menu Tab Exemple (HTML):
<div class="tabMenu">
<ul>
<li *ngFor="let tab of tabLinks" [class.active]="selectedTab.name === tab.name">
<a (click)="selectedTab = tab">{{ tab.name }}</a>
</li>
</ul>
<div class="tabContent">
<tab [data]="selectedTab.data">
<ng-container *ngTemplateOutlet="selectedTab.name;context:selectedTab"></ng-container>
</tab>
<ng-template class="tab1" #Tab1 let-test="data">
<p>Template A - {{ test }}</p>
</ng-template>
<ng-template class="tab1" #Tab2 let-test="data">
<p>Template B - {{ test }}</p>
</ng-template>
</div>
</div>
Ceci est le tableau de tapuscrit de base:
tabLinks: Array<Object> = [
{
name: "Tab1",
data: "data tab 1"
},
{
name: "Tab2",
data: "data tab 2"
}
];
selectedTab: Object = this.tabLinks[0];
Je l'ai fait les modifications ci-dessus. Je ne reçois aucune erreur de console, mais aucun modèle n'est attaché au conteneur ng – AngularM
Désolé, aucune idée. Je ne peux pas déboguer d'ici. Si vous créez un https://stackblitz.com/ ou Plunker qui permet de reproduire, je peux enquêter. –
Voici le stackblitz: https://stackblitz.com/edit/angular-goysrm – AngularM