Ich möchte die geteilte Komponente "DialogComponent" aus dem Modul "SharedModule" dynamisch hinzufügen in der Komponente "LoginComponent" (Modul "LoginModule"). Was muss ich alles in den @NgModule-Metadaten angeben?


Es können keine oder mehrere Antworten richtig sein!
Richtige Antwort:
  • "DialogComponent" bei declarations im SharedModule
  • "SharedModule" bei imports im LoginModule
  • "DialogComponent" bei entryComponents im LoginModule
  • "DialogComponent" bei exports im SharedModule
Ergänzungen zur Antwort:

Im SharedModul muss die Komponente DialogComponent deklariert werden. Da jede Komponente nur in einem Modul deklariert werden kann (und nicht in mehreren), kann sie nicht in dem LoginModule deklariert werden. Damit DialogComponent in anderen Modulen verwendet werden kann, wird es im SharedModule exportiert.

Im LoginModul muss das SharedModule importiert werden (importiert werden nur Module). Die Angabe bei entryComponents ist nur nötig, weil die LoginComponent zur Laufzeit dynamisch geladen wird.

Beispiel SharedModule:

@NgModule({
  imports: [
    CommonModule,
  ],
  declarations: [DialogComponent],
  exports: [DialogComponent]
})
export class SharedModule { }

LoginModule:

@NgModule({
  imports: [
    CommonModule,
    SharedModule
    ...,
  ],
  providers: [SomeService],
  declarations: [LoginComponent],
  entryComponents: [DialogComponent]
})
export class LoginModule { }
Themen
Antwortwahrscheinlichkeit
66% beträgt die Wahrscheinlichkeit, dass du die Frage richtig beantwortest. Melde dich an, damit wir deine individuelle Wahrscheinlichkeit berechnen können.
Antworten
Du bist nicht angemeldet. Wir haben keine Daten.
Von allen Nutzern:
6 mal beantwortet
4 richtig / 2 falsch
Lizenzbild
CC BY 4.0
Erstellt von:  Christof  vor 4 Jahren
24
213