将ng2Translate导入所有模块,而无需使用SharedModule

时间:2017-01-16 16:24:22

标签: angular ng2-translate

ng2-translate模块的instructions提及轻松将Translate添加到您导入其他模块的SharedModule,如果您正在使用模块化工作项目,你希望它在所有模块中都可用。

如果您的项目尚未使用所有其他模块导入的SharedModule,并且/或者您不希望所有模块都导入您的SharedModule,那么这实际上并不容易。

是否有其他方法可以使ng2Translate适用于您应用中的所有模块?我原本以为可能会将其导入 app.module.ts ,但似乎在他们的示例中,它已经导入到 app.module.ts 中,如下所示:

@NgModule({
    imports: [
        BrowserModule,
        HttpModule,
        TranslateModule.forRoot({
            provide: TranslateLoader,
            useFactory: (createTranslateLoader),
            deps: [Http]
        })
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }

1 个答案:

答案 0 :(得分:1)

当您在the app.module.ts中导入时,TranslateModule的提供商将可用于您的所有应用。因此,即使在其他模块中,您也可以在任何地方使用服务进行翻译。

但是,要在html模板中使用管道或指令,必须在要使用管道/指令的每个模块中导入模块。我想你无法避免这种情况。