具有角度工作的共享模块

时间:2017-11-17 16:35:29

标签: angular

事实上,除了主模块,我的应用程序中有2个模块: - 名为Global.module的模块:包含可共享模块; - 另一个名为Pages.modules的模块包含我的页面; 我希望pages.modules可以看到global.module中的模块; 我遇到的问题是页面模块无法检索Global.module中的现有模块,请参阅我的源代码;我也尝试导出:[NgaModule.forRoot()]在模块上共享,但似乎导出不支持ModuleWithProviders

Global.module

export const MODULES=[ BrowserModule,
  BrowserModule,
  FormsModule,
  HttpModule,
  NavbarModule,
  FooterModule,
  SidebarModule,
  RouterModule,
  LbdModule,ModalModule, BrowserAnimationsModule, ToastModule,NgbModule,
  FroalaEditorModule,
  FroalaViewModule,
  AceEditorModule,UiSwitchModule,TooltipModule,ChartsModule]
  export const SERVICES=[
    RouteGuard,BsModalService,LynkService,SharedService,Data,{provide: ToastOptions, useClass: CustomOption}, {
      provide: Http,
      useFactory: interceptorFactory,
      deps: [XHRBackend, RequestOptions, ServerUrlInterceptorService] 
    } ,ServerUrlInterceptorService 
  ]
@NgModule({
  exports: [
    ...MODULES
  ]

})
export class GlobalModule { 
  static forRoot(): ModuleWithProviders {
    return <ModuleWithProviders> {
      ngModule: GlobalModule,
      providers: [
        ...SERVICES
      ],
    };
  }
}

Pages.module

@NgModule({
  imports: [CommonModule, routing,FormsModule,GlobalModule],
  declarations: [
    HomeComponent,
    DefaultComponent,
  ],
})
export class PagesModule {
}

App.module

@NgModule({
  imports: [
....
,GlobalModule.forRoot()],
  declarations: [
    ...
  ],
})
export class AppModule {
}

1 个答案:

答案 0 :(得分:0)

您无法导出之前未导入的模块。

您必须添加 imports: [ ... MODULES ] 到您的GlobalModule。