2015-12-23 10 views
6

Ich habe angefangen, etwas über die Verwendung von Angular2 und eine der Fragen zu erfahren, für die ich keine Lösung finden kann. Ich habe die Anforderung, dass ich abhängig von den Daten, die ich von meinem Modell erhalte, verschiedene Vorlagen für eine bestimmte Komponente laden möchte. Dies hängt hauptsächlich mit der Pflege unterschiedlicher Layouts in Abhängigkeit von den empfangenen Daten zusammen. Ist das möglich?Angular2 lädt dynamisch eine Vorlage

Dank

Antwort

2

Angular 2 favorisiert Komponente UI Gebäude Zusammensetzung Ansatz. Aus diesem Grund sollten Sie nicht wirklich mit riesigen Templates enden und wenn es so ist, ist es vielleicht besser, sie in einige Hilfssubkomponenten aufzuteilen (auch wenn sie nichts anderes als Layout bieten).

In Fällen, in denen Vorlage nicht wirklich groß ist, können Sie bedingt mit der Anweisung *ngIf basierend auf der Eigenschaft einiger Komponenten rendern.

Ein anderer Weg, um diesen Ansatz wäre Routen auf dieser Komponentenebene implementieren und dann zu diesen Strecken programmatisch Weg, nachdem Sie die Daten mit router.navigate(['./MySubcomponent'])

0

Lassen Sie uns erhalten sagen, dass es eine Hauptkomponente ist, wo Sie die Daten erhalten. Basierend auf den Daten können Sie auswählen, welche Teilkomponente verwendet werden soll. In jeder Unterkomponente können Sie die Vorlage für die spezifischen Daten definieren.

Wenn die Daten klein sind, können Sie zwischen dem HTML mit * ngSwith oder * ngIf in der Vorlage Ihrer Hauptkomponente wechseln.

Verwandte Themen