1

我创建了以下文件来隔离ngx-translate配置:

import {
  Http
} from '@angular/http';
import {
  TranslateHttpLoader
} from '@ngx-translate/http-loader';
import {
  TranslateLoader,
  TranslateModuleConfig
} from '@ngx-translate/core';

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: Http) {
  return new TranslateHttpLoader(http);
}

export function translateModuleConfig(): TranslateModuleConfig {
  return {
    loader: {
      provide: TranslateLoader,
      useFactory: HttpLoaderFactory,
      deps: [Http]
    }
  };
}

然后我只是在我的应用程序模块imports部分中使用以下内容:

TranslateModule.forRoot(translateModuleConfig)

但它实际上不再起作用了,这与我将配置直接内联而不是函数时不同。我做错了什么?

4

1 回答 1

1

尝试将您的功能更改为:

export function translateModuleConfig() {
  return {
    loader: {
      provide: TranslateLoader,
      useFactory: HttpLoaderFactory,
      deps: [Http]
    }
  };
}

然后在你的app模块中这样做:

TranslateModule.forRoot(translateModuleConfig());
于 2017-05-14T14:25:52.593 回答