Angular2 wählt die Vorlage entsprechend der Serviceantwort dynamisch aus

9

Ich habe eine Komponente namens "Node", die einen einzelnen Post anzeigen soll, aber ich habe mehr als einen Post-Typ und jeder Typ hat seine eigene Ansicht (Layout).

Damit diese Komponente einen ID-Parameter hat, der verwendet wird, um eine Post-Antwort von einem Dienst zu erhalten, sollte sie entsprechend dem Post-Typ das korrekte Layout anzeigen.

ex: localhost/test_app/node/123 wobei 123 der ID-Parameter ist.

Ansatz 1: Verwenden von ngIf in der Tamplate

%Vor%

Ansatz 2: Verwenden des dynamischen Komponentenladeprogramms.

%Vor%

Ich frage mich, welcher Ansatz effizienter ist oder ob es einen besseren Ansatz gibt, bitte teilen Sie es.

    
Murhaf Sousli 06.06.2016, 04:00
quelle

1 Antwort

3

Wenn Sie eine begrenzte Anzahl möglicher Vorlagen haben, ist *ngIf oder *ngSwitch ein guter Ansatz. Sie können [] und () Bindungen zwischen Eltern und Kind verwenden.

Wenn Sie eine Reihe von Vorlagen haben, die statisch unbekannt sind und zum Beispiel von einem Parameter bereitgestellt werden, funktioniert *ngIf nicht. Dann ist ViewContainerRef.createComponent() (ersetzt DynamicComponentLoader ) der richtige Ansatz. Ein Beispiel finden Sie Angular 2 dynamische Registerkarten mit Benutzer -Klicken Sie auf die ausgewählten Komponenten

    
Günter Zöchbauer 06.06.2016, 04:08
quelle

Tags und Links