相关疑难解决方法(0)

角度:将参数传递给NgModule

我有使用TranslateModulefrom的模块ngx-translate(问题不是关于这个库,而是关于Angular)。看起来像这样:

@NgModule({
  ...
  imports: [
    TranslateModule.forChild({
      loader: {
        provide: TranslateLoader,
        useFactory: (http: HttpClient) => new TranslateHttpLoader(http, './assets/i18n/todos/', '.json'),
        deps: [HttpClient]
      },
      isolate: true
    })
  ]
})
export class TodosModule {
}
Run Code Online (Sandbox Code Playgroud)

现在有5个看起来像这样的模块。我决定搬家TranslateModuleSharedModule。但这是一个问题:我必须为每个模块分别设置路径(例如./assets/i18n/todos)。那就是我发现的:

@NgModule({
  ...
  imports: [
    TranslateModule
  ],
  exports: [
    TranslateModule
  ]
})
export class SharedModule {

  static forChild(i18path: string): ModuleWithProviders {
    return {
      ngModule: SharedModule,
      providers: [
        {
          provide: TranslateModule,
          useValue: TranslateModule.forChild({
            loader: {
              provide: TranslateLoader,
              useFactory: (http: HttpClient) …
Run Code Online (Sandbox Code Playgroud)

angular

5
推荐指数
1
解决办法
143
查看次数

标签 统计

angular ×1