2017-12-11 3 views
0

Ich verwende Angular 5+ und ich möchte 3 Ebenen bis verschachtelte Komponenten erstellen.Mehrere Ebenen verschachtelte Komponenten in Angular

Hier ist ein Beispiel, was ich tun kann.

<my-app> 
<first></first> 
<second></second> 
</myapp> 

Und hier ist das, was ich kann nicht tun.

Ich habe den folgenden Code in meinem App-Modul.

Beachten Sie hier, dass AppModule nicht das Stammmodul ist, sondern auch lazyLoaded Component.

+0

Können Sie Ihre Frage erweitern, nicht wirklich sicher, was Sie Fragen – Harry

+1

Was bedeutet es, dass "AppModule" ist nicht das Stammmodul "? Das" AppModule "ist immer das Stammmodul, wenn es nicht ist, Nenne es nicht "AppModule". Wenn du es aus irgendeinem Grund in deinem Code machst, dann mach es so, aber bitte mach es nicht für SO-Fragen. Das verursacht nur Verwirrung. –

Antwort

2

müssen Sie die <second></second> Komponente innerhalb der <first></first> 's Komponenten Vorlage implementieren.

@Component({ 
    selector: 'first', 
    template: '<second></second>' 
}) 
export class FirstComponent { ... } 

Ihr Modul ist richtig

1

MyAppComponent ein <ng-content> Element haben muss, sonst wird es nicht Inhalt projiziert Display.

Vorsicht: Dies funktioniert nur für Komponenten, die nicht die Root-Komponente sind. Angular unterstützt das Projizieren von Inhalt auf die Root-Komponente nicht. Sehen Sie den Kommentar unter der Frage, um zu sehen, was die Verwirrung verursacht.

Verwandte Themen