I haben zwei Module:Ändern gemeinsam genutzter Daten zwischen Modulen root
1.:
@NgModule({
imports: [
BrowserModule,
FormsModule,
SharedModule.forRoot()
],
declarations: [
FirstComponent
],
bootstrap: [ FirstComponent ]
})
export class AppModule { }
2ND:
@NgModule({
imports: [
BrowserModule,
FormsModule,
SharedModule.forRoot()
],
declarations: [
ScndComponent
],
bootstrap: [ ScndComponent ]
})
export class AppModule { }
und gemeinsamen Modul mit statischen .forRoot()
@NgModule({})
export class SharedModule {
static forRoot() {
return {
ngModule : SharedModule,
providers : [DumyService]
}
}
}
Mein DumyServise hat etwas prop 'p aramd‘und ich will Änderungen durch Module In beiden Komponenten von Modulen (1. und 2.)
@Injectable()
export class DumyService {
paramd : string;
}
sehen Ich habe
private ds: DumyService
in Konstrukteuren.
Dann lassen Sie uns sagen, dass ich in irgendeiner Komponente des ersten Moduls Komponente eine Onclick Methode haben, die
clickToChangeParam() {
this.ds.paramd = 'new value';
}
verändert Und ich möchte dies in beiden Modulen verändert haben. Wie kann ich damit umgehen?
Warum möchten Sie 2 Root-Module haben? –
Weil ich separate Module in verschiedenen Teilen meiner App brauche. Und ich weiß nicht, wie ich es ohne einige Komponente Richtlinie –
WebArtisan
ausführen kann In eckigen1 war es einfacher, Root-Komponente in Tag zu haben. In A2 sehe ich diese Möglichkeit nicht. A2 läuft nur durch benutzerdefinierte Anweisung. Liege ich falsch? – WebArtisan