我正在寻找一种方法
如何在angular2 +打字稿中动态设置?
以下是来自官方Angular2 plunkr的尝试:https://plnkr.co/edit/lWV4VhzpWYnCXeDBpzsn?p=preview
我已经注释掉了document.locale='en';
并尝试在typescript服务中检索window.document,并在那里更改语言环境,但是尽管它被调用并且语言环境设置正确(在控制台中看到),但界面不会以所选语言显示在启动时。
然后当然下拉按钮也不起作用,因为使用了相同的错误方法并且没有刷新显示,但这是下一步。
答案 0 :(得分:16)
我将用户选择的语言密钥保存到本地存储中:
//<select name="selectLocate" (change)="onChange($event.target.value)">
public onChange(localeId: string): void {
localStorage.setItem('localeId', localeId);
location.reload(true);
}
然后强制重新加载,并在i18n.provider.ts
let locale = localStorage.getItem('localeId');