Gewusst wie: freigeben von Komponenten zwischen Modulen im Winkel 2?
Bin ich in Zweifel, wie gemeinsame Komponenten zwischen Modulen im Winkel 2. Der Punkt ist: ich habe zwei Module in der app, der "Kunden-Modul" und "Lieferanten-Modul'.
Diese beiden Module, in Ihre Komponenten, nutzen Sie die AddressComponent und die EmailComponent. Sie auch beide nutzen die Schnittstellen-Adresse und E-Mail.
Nun, derzeit habe ich viele überschneidungen, denn ich habe das kopiert und eingefügt, diese Komponenten und Schnittstellen beider Module. Dies ist offensichtlich einfach nur falsch.
Ich brauche einen Weg, um importieren Sie die Komponenten aus, die verwendet werden auf beide Module. Aber ich habe keine Idee, wie es zu tun.
Sollte ich ein anderes Modul für diese gemeinsame Sachen und importieren Sie es beide? Was ist der richtige Weg, um gemeinsame Komponenten zwischen Modulen im Winkel 2?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie einen freigegebenen
NgModule
haben alle gängigenComponent
/Service
/Pipe
. Dadurch vermeiden Sie code-Duplizierung. Es wird code Modularisieren, plug-Lage & getestet werden.Um
AddressComponent
&EmailComponent
in anderen Modulen, die Sie benötigen, umexport
Sie aus dem gemeinsamen Modul:Code
Während Verbrauchen
SharedModule
alle Sie tun müssen ist, importierenSharedModule
SharedModule
in welcher der Verbraucher-Modul, die ich brauchte..Wie share-Komponente, um mehrere Module in Angular2
Hey Leute,
Entweder wir wiederholen den gleichen code überall in allen Ansichten, in denen Sie verwendet werden.
Oder wir erstellen eine gemeinsame Komponente, und teilen Sie es in jedem anderen Blick
Wenn die Funktionalität der wiederholte Blick ist überall gleich dann die Wiederholung der code ist nicht empfehlenswert, meiner Meinung nach, die Erstellung einer gemeinsamen Komponente und die Anwendung, um alle anderen anzeigen/Modul ist eine tolle Idee, es reduziert den code-Redundanz und machen unsere Anwendung ordentlich und sauber, auch wenn etwas verändert wird, dann müssen Sie es ändern, nur in einer Komponente.
Aber wie erreichen wir diese in Eckige 2-Anwendung?
Da im Winkel 2, Folgen wir modulare design pattern, das heißt, wir halten verschiedene Ansichten in verschiedenen Modulen, aber die Frage ist, wie können wir gemeinsam eine einzelne Komponente verschiedene Module?
Können wir nicht teilen eine Komponente verschiedene Module, die nur durch den Import, die Komponenten, die sich in allen Modulen, weil Eckig 2 wird uns nicht erlauben, einzelne Komponente verschiedene Module, wenn Sie versuchen dies zu tun, dann Eckige wirft einen Fehler:
Typ X(Komponente) ist Teil der Erklärungen vom 2 Module
Typ X(Komponente) ist Teil der Erklärungen vom 2 Module
So, dieses problem zu lösen, erstellen wir in einem Gemeinsamen Modul anstelle des Teilens eine Komponente, jetzt teilen wir dieses Modul in alle weiteren Module für diese verwenden wir import-Anweisung, und importieren Sie das freigegebene Modul alle anderen Module nach dieser wird die Komponente erhält automatisch freigegeben wird, um alle Module.
Unten ist das Beispiel, wie es zu tun:
SharedModule
@NgModule({
Importe: [
SomeModule
],
Erklärungen: [
SharedComponent
],
Exporte: [
SharedComponent
]
})
export-Klasse SharedMoule {}
app.- Modul.ts
import { SharedModule } from './shared/shared.Modul;
@NgModule({
Importe: [ SharedModule],
...
})