我有一个angular 6
应用程序ngx-translate/core@10.0.2
。尝试使用CustomLoader
带有硬编码值的 a。但有些事情不太对劲。
测试
class CustomLoader implements TranslateLoader {
getTranslation(lang: string): Observable<any> {
return of({
'DETAILS': {
'PIN_ENTRY': {
'INPUT': {
'ERRORS': {
'INVALID': 'Blah',
'INELIGIBLE': 'Blah Blah'
}
}
}
}
});
}
}
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ MyComponent ],
imports: [
... // Elided for brevity
TranslateModule.forRoot({
loader: { provide: TranslateLoader, useClass: CustomLoader}
})
],
})
.compileComponents();
}));
零件
ngOnInit() {
this.translateService.getTranslation('DETAILS.PIN_ENTRY.INPUT').pipe(first()).subscribe(translations => {
this.errorTranslations = translations['ERRORS'];
});
}
问题是,translate
里面subscribe
总是'DETAILS.PIN_ENTRY.INPUT'。我还在 中添加了一个日志语句CustomLoader#getTranslation
,以查看它是否已加载,但看不到输出。
我的设置有什么问题?