Detaillierte Erläuterung der Implementierung gemeinsam genutzter Module in Angular-Projekten

Detaillierte Erläuterung der Implementierung gemeinsam genutzter Module in Angular-Projekten

1. Gemeinsam genutztes CommonModule

Erstellen Sie ein Freigabemodell: ng gm share

Alle Module, die freigegeben werden müssen, werden nach dem Import exportiert.

Im Moment gibt es nur CommonModule, und es wird in Zukunft einige Komponenten geben, die gemeinsam genutzt werden müssen.

importiere { NgModule } von '@angular/core';
importiere { CommonModule } von '@angular/common';

@NgModule({
  Importe: [
    Gemeinsames Modul
  ],
  Exporte:
    Gemeinsames Modul
  ],
  Erklärungen: []
})
exportiere Klasse SharedModule { }

Importieren Sie das Kernmodul in das App-Modul.

importiere { BrowserModul } von '@angular/platform-browser';
importiere { NgModule } von '@angular/core';

importiere { AppComponent } aus './app.component';
importiere {CoreModule} aus „./core/core.module“;

@NgModule({
  Erklärungen: [
    AppComponent
  ],
  Importe: [
    BrowserModule,
    Kernmodul
  ],
  Anbieter: [],
  Bootstrap: [Anwendungskomponente]
})
exportiere Klasse AppModule { }

2. Gemeinsam genutztes Materialmodul

Zur einfacheren Verwaltung platzieren Sie den Import und Export von Materialkomponenten in einem separaten Modul und importieren und exportieren Sie sie in ShareModule.

importiere { NgModule } von '@angular/core';
importiere { CommonModule } von '@angular/common';
importiere { MatToolbarModule, MatSidenavModule, MatButtonModule, MatCardModule, MatInputModule, MatListModule, MatSlideToggleModule, MatGridListModule, MatDialogModule, MatAutocompleteModule, MatMenuModule, MatCheckboxModule, MatTooltipModule, MatDatepickerModule, MatRadioModule, MatNativeDateModule, MatSelectModule } aus '@angular/material';
importiere { MatIconModule } aus '@angular/material';

const Modul=[
  MatSidenavModule,
  MatIconModul,
  MatToolbarModule,
  MatIconModul,
  MatButtonModul,
  MatCardModul,
  MatInputModule,
  MatListModule,
  MatSlideToggleModule,
  MatGridListModule,
  MatDialogModul,
  MatAutocompleteModul,
  MatMenuModule,
  MatCheckboxModule,
  MatTooltipModul,
  MatDatepickerModul,
  MatRadioModule,
  MatNativeDateModule,
  MatSelectModule
];

@NgModule({
  Deklarationen: [],
  Importe: [
    Modul
  ],
  Exporte:
    Modul
  ]
})
exportiere Klasse MaterialModul { }
importiere { NgModule } von '@angular/core';
importiere { CommonModule } von '@angular/common';
importiere { MaterialModul } aus '../material/material.module';
importiere { ConfirmDialogComponent } aus './confirm-dialog/confirm-dialog.component';

@NgModule({
  Importe: [
    Gemeinsames Modul,
    MaterialModul
  ],
  Exporte:
    Gemeinsames Modul,
    MaterialModul
  ],
  Deklarationen: [ConfirmDialogComponent]
})
exportiere Klasse SharedModule { }

3. Gemeinsamer ConfirmDialog

Das Bestätigungsdialogfeld wird verwendet, unabhängig davon, ob Sie eine Aufgabe oder ein Projekt löschen, und wird daher im SharedModule platziert.

$ ng gc gemeinsam genutzter/Bestätigungsdialog

Sie können auch eine Inline-Vorlage und einen Stil mit ng gc shared/confirm-dialog -it -is erstellen.

<form>
  <h2 md-dialog-title>{{title}}</h2>
  <div mat-dialog-inhalt>
    {{Inhalt}}
  </div>
  <div mat-dialog-aktionen>
    <button type="button" mat-raised-button color="primary" (click)="onClick(true)">OK</button>
    <button type="button" mat-button mat-dialog-close (click)="onClick(false)">Abbrechen</button>
  </div>
</form>
importiere { Komponente, OnInit, Inject } von "@angular/core";
importiere { MatDialogRef } von "@angular/material";
importiere { MAT_DIALOG_DATA } aus "@angular/material";

@Komponente({
  Selektor: "App-Bestätigungsdialog",
  Vorlagen-URL: "./confirm-dialog.component.html",
  styleUrls: ["./confirm-dialog.component.scss"]
})
Exportklasse ConfirmDialogComponent implementiert OnInit {
  Titel = "";
  Inhalt = "";
  Konstruktor(
    private DialogRef: MatDialogRef<ConfirmDialogComponent>,
    @Inject(MAT_DIALOG_DATA) private Daten
  ) { }

  ngOnInit() {
    dieser.Titel = dieser.Daten.Titel;
    dieser.Inhalt = dieser.Daten.Inhalt;
  }
  beiKlick(Ergebnis: Boolesch) {
    this.dialogRef.close(Ergebnis);
  }
}

Fügen Sie dann die Komponente „ConfirmDialogComponent“ in „sharedModule“ ein.

importiere { NgModule } von "@angular/core";
importiere { CommonModule } von "@angular/common";
importiere { MaterialModul } aus "../material/material.module";
importiere { ConfirmDialogComponent } aus "./confirm-dialog/confirm-dialog.component";

@NgModule({
  Importe: [GemeinsamesModul, MaterialModul],
  Exporte: [GemeinsamesModul, MaterialModul],
  Deklarationen: [ConfirmDialogComponent],
  Eintragskomponenten: [ConfirmDialogComponent]
})
exportiere Klasse SharedModule { }

Wenn Sie ConfirmDialog verwenden, lesen Sie Löschen eines Projekts.

Oben finden Sie eine ausführliche Erläuterung der Implementierung gemeinsam genutzter Module in Angular-Projekten. Weitere Informationen zu Angular finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Angular2-Module und gemeinsam genutzten Module
  • Detaillierte Erläuterung der Angular-Strukturdirektivenmodule und -Stile
  • Angular-Build-Prozess für Multimodulprojekte
  • Spezifische Verwendung des Angular2 NgModel-Moduls
  • Beispiel für die Implementierung des Vorladens verzögerter Module durch Angular
  • Detaillierte Erklärung zum Lazy Loading von Angular-Modulen mittels Routing
  • Eine kurze Erläuterung der Lazy-Loading-Methode von Angular2-Modulen

<<:  Zusammenfassung der Lastausgleichsmethoden von Nginx

>>:  Tutorial zur Oracle-Bereitstellung in einer Linux-Umgebung

Artikel empfehlen

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.19 (Win10)

Detailliertes Tutorial zum Herunterladen und Inst...

Linux: Kein Speicherplatz mehr auf Gerät 500 – Fehler aufgrund voller Inodes

Was ist ein Inode? Um Inode zu verstehen, müssen ...

8 leistungsstarke Techniken zum Erstellen von HTML-Webseiten

<br />Es gibt zwar viele Tools zum Erstellen...

React erhält den Eingabewert und übermittelt 2 Methodenbeispiele

Methode 1: Verwenden Sie das Zielereignisattribut...

WeChat-Applet implementiert Suchfeldfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung gängiger Methoden von JavaScript-Arrays

Inhaltsverzeichnis Gängige Array-Methoden Pop() u...

So stellen Sie HTTPS kostenlos auf Tencent Cloud bereit

Als ich kürzlich ein WeChat-Applet schrieb, erfor...