我有一个离子应用程序,并使用ngx-translate进行翻译。
我在家中使用并将其导入home.module.ts
imports: [
IonicPageModule.forChild(HomePage),
TranslateModule.forChild({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
})
],
但是当我将navController推入其他页面时,如果我使用的话:
{{ 'SOME_STRING' | translate }}
我有这个错误
Error: Uncaught (in promise): Error: Template parse errors:
The pipe 'translate' could not be found
我也可以解决在另一页中导入TranlateModule的问题,但是我有很多页面,它不是那么有用。
我以为
TranslateModule.forChild
将此模块“传递”到堆中的所有页面,
不是吗?我是否需要在所有页面中导入TranslateModule,然后使用Translate管道?
谢谢
答案 0 :(得分:0)
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {HttpClientModule, HttpClient} from '@angular/common/http';
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import {AppComponent} from './app';
// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
@NgModule({
imports: [
BrowserModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
})
],
bootstrap: [AppComponent]
})
export class AppModule { }
尝试一下,您可以在这里找到更多说明:Doc