In der Führung auf https://angular.io/docs/ts/latest/guide/router.html#!#guards brechen wir verschiedene Routen in schöne mundgerechte Module .. Aber es scheint wie ein wenig Aufwand in Code jetzt, wenn für jedes Modul ich alle einschließen müssen der rel. Services, Provider und Pipes ...eckig 2 Kindermodule erben Eltern Dienstleistungen
Gibt ang2 die Importe an die untergeordneten Module weiter?
zB: ...
@NgModule({
imports: [
BrowserModule,
DndModule.forRoot(),
HttpModule,
FormsModule,
ReactiveFormsModule,
AppRoutingModule,
StoreModule.provideStore(
StoreLoader.reducers(),
StoreLoader.initialState()
),
StoreDevtoolsModule.instrumentStore({
monitor: useLogMonitor({
visible: BootstrapDataService.reduxStoreDebug(),
position: 'right'
}),
}),
StoreLogMonitorModule,
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: (http: Http) => new TranslateStaticLoader(
http,
window.crowdRoute + 'assets/i18n',
'.json'
),
deps: [Http]
})
],
declarations: [
//Pipes
SummaryPipe,
DateFormatPipe,
MomentDatePipe,
TimeAgoPipe,
SanitizeHtml,
SafePipe,
ValuesPipe,
DisplayNamePipe,
UserHasPermissionPipe,
UserHasRolePipe
],
bootstrap: [CrowdComponent],
providers: [
BootstrapDataService,
CommentService,
Helpers,
ImageService,
ProjectService,
SuggestionService,
AuthService,
AuthResolver,
{
provide: APP_BASE_HREF,
useValue: window.crowdRoute
},
{
provide: Http,
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions, router: Router) => new CrowdHttp(xhrBackend, requestOptions, router, null),
deps: [XHRBackend, RequestOptions, Router]
},
{
provide: BrowserXhr,
useClass: CrowdBrowserXHR
}
]
})
export class CrowdModule {}
Im Augenblick ist die App nicht-Module für die einzelnen Bereiche aufgeteilt hat .. so jetzt alle Anbieter etc. werden durch den Rest der App übergeben.
Aber ... aus dem Ang2 Plunker https://angular.io/resources/live-examples/router/ts/plnkr.html:
@NgModule({
imports: [
BrowserModule,
FormsModule,
HeroesModule,
LoginRoutingModule,
AppRoutingModule
],
declarations: [
AppComponent,
LoginComponent
],
providers: [
DialogService
],
bootstrap: [ AppComponent ]
})
export class AppModule {
}
Der Haupt app.module.ts
umfasst Module, die sich ihre eigenen Routing gehören usw.