Hallo,
ich habe eine Component erstellt, in der ich anhand der Klasse den Content zuweise.
In einer anderen Component füge ich meine Tab Component ein und der Content selber kommt aus mehreren, weiteren Components:
In meiner Tab Component gibt es nun einen Button und wenn man auf diesen klickt, soll sich in jeder Component innerhalb vom ng-container etwas ändern. Was sich ändert ist immer das selbe,drücke ich auf den Button soll in jeder Component eine CSS Klasse hinzugefügt werden. Klar könnte ich einfach in jeder Component ein Input() einfügen aber ich würde die komplette Logik gerne in meiner Tab-Component haben. Es gibt ja die Möglichkeit mit Contentchildren auf den Inhalt zuzugreifen:
<app-eins #child></app-eins>
<app-zwei #child></app-zwei>
<app-drei #child></app-drei>
<app-vier #child></app-vier>
Also so dachte ich mir das zumindest...
Innerhalb vom ng-container hab ich einfach keinen Zugriff drauf. Gibt es überhaupt Möglichkeiten das so zu realisieren? Oder evtl. über eine directive...
Es gibt ja soviele Möglichkeiten das zu realisieren dass ich gestehen muss, dass ich nicht weiß was hier nun best practice wäre.
ich habe eine Component erstellt, in der ich anhand der Klasse den Content zuweise.
HTML:
<div class="tab-content">
<div class="foo " [ngClass]="foo ? 'show' : 'hide'">
<ng-content select=".myTabPanel"></ng-content>
</div>
<div class="bar" [ngClass]="!bar ? 'show' : 'hide'">
<ng-content select=".myTabPanelBar"></ng-content>
</div>
</div>
In einer anderen Component füge ich meine Tab Component ein und der Content selber kommt aus mehreren, weiteren Components:
Javascript:
<app-tab-panel>
<ng-container class="myTabPanel">
<div class="flex-container">
<app-eins></app-eins>
<app-zwei></app-zwei>
<app-drei></app-drei>
<app-vier></app-vier>
...
</div>
</ng-container>
<ng-container class="myTabPanelBar">
...
</ng-container>
</app-tab-panel>
In meiner Tab Component gibt es nun einen Button und wenn man auf diesen klickt, soll sich in jeder Component innerhalb vom ng-container etwas ändern. Was sich ändert ist immer das selbe,drücke ich auf den Button soll in jeder Component eine CSS Klasse hinzugefügt werden. Klar könnte ich einfach in jeder Component ein Input() einfügen aber ich würde die komplette Logik gerne in meiner Tab-Component haben. Es gibt ja die Möglichkeit mit Contentchildren auf den Inhalt zuzugreifen:
<app-eins #child></app-eins>
<app-zwei #child></app-zwei>
<app-drei #child></app-drei>
<app-vier #child></app-vier>
Also so dachte ich mir das zumindest...
Innerhalb vom ng-container hab ich einfach keinen Zugriff drauf. Gibt es überhaupt Möglichkeiten das so zu realisieren? Oder evtl. über eine directive...
Es gibt ja soviele Möglichkeiten das zu realisieren dass ich gestehen muss, dass ich nicht weiß was hier nun best practice wäre.