In der Angular Docs FAQ Abschnitt heißt es, "Im Gegensatz zu Anbietern der Module beim Start geladen, sind Anbieter von Lazy-Loaded-Module Modul-Bereich."linkWie stelle ich einen Service in einem Lazy-Loaded-Modul zur Verfügung und habe ich diesen Service nur auf das Lazy-Loaded-Modul und seine Komponenten beschränkt?
Does ‚Modul-scoped‘ hier nur bedeuten, das Modul oder erstreckt er alle Komponenten enthalten zu diesem Modul gehör?
Der Grund warum ich frage ist, weil ich ein lazy-loaded Modul mit 2 Komponenten habe, die dazu gehören. Ich registriere einen Dienst im Modul, aber aus irgendeinem Grund erhält jede Komponente eine andere Instanz dieses Dienstes.
Was muss ich ändern, um LazyModuleService in meinem Lazy-Loaded-Modul zur Verfügung zu stellen und diesen Service nur auf das Lazy-Loaded-Modul und seine Komponenten zu beschränken? Bitte fügen Sie zusätzliche Dateien hinzu. Ich habe versucht, ein allgemeines Beispiel zu geben, um anderen zu helfen, die diese Frage finden könnten.
Lazy-Modul geladen:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { Component1 } from './component1.component';
import { Component2 } from './component2.component';
import { LazyModuleService } from './lazy-module.service';
@NgModule({
imports: [
CommonModule,
],
declarations: [
Component1,
Component2,
],
})
export class LazyLoadedModule { }
Haben Sie LazyModuleService in Ihren Komponenten Ihres Lazy-Moduls als Provider konfiguriert? – snorkpete
Nein, tue ich nicht. Es ist nur im LazyLoaded-Modul konfiguriert. – FlashBanistan
Ich nehme an, dies ist ein Tippfehler, aber Sie haben nicht LazyModuleService als Anbieter in Ihrem LazyModule – snorkpete