Quindi, ecco l'affare. Ho un componente molto ben scritto e usato in molti posti. Ora ho bisogno di usare lo stesso componente, ma voglio un modello diverso da renderizzare, basato su una condizione.Un solo modello a più componenti basato sulla condizione
Ho provato molto.
1) provato ad utilizzare molteplici decoratori componenti - senza fortuna
2) Ho provato più livelli di astrazioni, dove ho appena finito per creare più componenti - cattiva idea
3) può letteralmente copiare l'intero componente, e basta cambiare il selettore e il modello - cattiva idea
4) Attualmente cercavo questo:
<div *ngIf="!isWizard">
<ul class="nav" role="tablist">
<ng-content select="tab-link"></ng-content>
</ul>
<ng-content select="tab-content"></ng-content>
</div>
<div *ngIf="isWizard">
<nav class="nav-panel sidenav">
<ng-content select=".wizard-title"></ng-content>
<ul class="nav" role="tablist">
<ng-content select="tab-link"></ng-content>
</ul>
</nav>
<main class="settings-panel content-area">
<ng-content select="tab-content"></ng-content>
</main>
</div>
ho impostato l'isWizard proprietà come vero/falso. Ora il problema è che il contenuto di ng viene eseguito solo una volta. Quindi, quando isWizard è true, anche se viene visualizzato il blocco div, il contenuto di ng non viene eseguito (perché è stato eseguito nel blocco precedente).
5) Invece di usare ngIf Ho anche provato ngSwitch - non ha funzionato
Sono disperata ora. Si prega di aiutare :)
Quale versione di Angular2 stai usando. Per quanto mi ricordo, questo è un problema che è stato risolto di recente. Non sono sicuro che questa correzione sia già inclusa in RC.1 –
@ GünterZöchbauer Sto usando 2.0.0-rc.1, ma non funziona. –
Ti suggerisco di riprovare dopo il prossimo aggiornamento. L'ultimo aggiornamento è un po 'indietro e quella correzione non è stata fatta molto tempo fa, non ricordo esattamente, ma sono abbastanza sicuro che copre questo problema. –