Ich habe gerade auf eckige RC5 und rot aktualisiert diesen Artikel über @NgModules
.
https://angularjs.blogspot.de/2016/08/angular-2-rc5-ngmodules-lazy-loading.htmlKoppelt @NgModules, indem auf der Stammebene Anweisungen, Dienste usw. deklariert werden?
Mit @NgModules
die Komponenten, Richtlinien, Dienstleistungen usw. auf den Modulen Root-Ebene erklärt bekommen. Ich dachte darüber nach: Versuchen wir nicht, die Gedanken zu entkoppeln, und versuchen wir nicht, Bauteile zu archivieren, die selbst für sie verwendet werden könnten?
Was ist, wenn ich jetzt eine Komponente zum Beispiel "NoteCard" habe, die in einer "Container" -Komponente "Notes" verwendet wird.
aGuitar:
import {Component} from "@angular/core";
@Component({
selector: 'note-card',
styleUrls: ['app/ui/note-card/note-card.css'],
templateUrl: 'app/ui/note-card/note-card.html'
})
export class NoteCard {}
Hinweise:
import {Component} from "@angular/core";
import {NoteCard, NoteCreator} from "../../ui";
import {NotesService} from "../../services";
@Component({
selector: 'notes-container',
directives: [
NoteCard
],
styleUrls: ['app/containers/notes/notes.css'],
templateUrl: 'app/containers/notes/notes.html'
})
export class Notes {}
In RC4 würden wir nur injizieren "aGuitar" in "Notes". Damit könnten wir "NoteCard" selbst verwenden (natürlich hat es keine Abhängigkeiten) und "Notizen" in Kombination mit "NoteCard", weil es eine eigene Abhängigkeit ist.
Mit RC5 muss ich "NoteCard" in die Root-Ebene @NgModule
injizieren. Damit benötige ich immer ein extra Level und wenn es komplexer wird, kann es mehrere Level darüber sein, wo die Abhängigkeiten injiziert werden.
Macht es Sinn mehr als einen @NgModule
in einem Projekt zu verwenden? In meinem Fall sollte jede "Container" -Komponente eine @NgModule
sein?
Großartig, danke! Ich wusste nichts über diesen Artikel. – Yves
Da es überall verwendet wird dachte ich, ich könnte es in das Hauptapp.Modul einfügen. Ich hatte bereits ein gemeinsames Modul, also habe ich es einfach eingefügt, wie du es vorgeschlagen hast. –