【发布时间】:2017-11-17 09:26:14
【问题描述】:
最近我升级了 Ionic,现在升级了 Ionic3
现在当前的应用程序不能完全使用 Ionic 和 ng2-translate。
之前相同的代码在没有延迟加载的情况下运行良好,但我们需要使用延迟加载来改善应用程序加载时间并减少启动显示的持续时间。
app.module.ts 导入组件的样子
TranslateModule.forRoot({
provide: TranslateLoader,
useClass: TMATranslationLoader
})
TMATranslationLoader 看起来像
export class TMATranslationLoader implements TranslateLoader {
constructor( ) { }
getTranslation(lang: string): Observable<any> {
switch(lang) {
case 'nl':
return Observable.of(translations_nl);
case 'hi':
return Observable.of(translations_hi);
// case 'de':
// return Observable.of(translations_de);
// case 'fr':
// return Observable.of(translations_fr);
// case 'es':
// return Observable.of(translations_es);
default:
return Observable.of(translations_en);
}
}
}
app.component.ts 看起来像
this.rootPage = 'LoginPage';
login-page.html 看起来像
<ion-label floating>{{ 'LBL_USERNAME' | translate }}</ion-label>
出现的运行时异常
Error: Uncaught (in promise): Error: Template parse errors:
The pipe 'translate' could not be found (" <ion-list>
<ion-item class="icon-user">
<ion-label floating>{{ [ERROR ->]'LBL_USERNAME' | translate }}</ion-label>
有什么想法吗?我是不是做错了什么?
【问题讨论】:
标签: angular typescript ionic-framework ionic2 ionic3