NGX Translate未在热重载(HMR)上初始化

时间:2018-08-28 13:51:24

标签: angular typescript webpack-hmr ngx-translate

我在使用HMR (Hot Module Replacement)时正在使用Angular 6应用。

通常,TranslateService会按预期工作。但是,当HMR更新我的模块时,该服务不会返回预期值。

例如:

component.ts

translate$: Observable<string[]>;

constructor(translate: TranslateService) {}

ngOnInit() {
  this.translate$ = Object.values(this.translate.instant('property'));
}

component.html

<div *ngFor="translate$ | async as translate">
   {{ translate }}
</div>

en.json

//// i18n:
{
  "property": {
    "sub": "value",
    "sub2:" value2"
  }
}

当我第一次初始化组件时,一切都很好。显示“值”和“值2”。但是,当我更改组件中的代码时,将触发HMR,并且this.translate.instant('property')的结果仅为"property"。我尝试使用.get(..)代替instant(...),但是我得到了相同的行为。

如果我销毁该组件并再次构造它,则看起来不错。

相关依赖项

"@angular/cli": "~6.1.5",
"@angularclass/hmr": "^2.1.3",
"@ngx-translate/core": "^10.0.2",
"@ngx-translate/http-loader": "^3.0.1",

0 个答案:

没有答案