Angular 角度转换文件(ngx translate)加载两次
我注意到,在浏览器的开发者工具网络选项卡中,我的Angular应用程序翻译文件被加载了两次 怎么了? 这应该发生吗Angular 角度转换文件(ngx translate)加载两次,angular,ngx-translate,Angular,Ngx Translate,我注意到,在浏览器的开发者工具网络选项卡中,我的Angular应用程序翻译文件被加载了两次 怎么了? 这应该发生吗 如果您使用的语言与使用ng2 translate的TranslateService设置的默认语言相同,则可能发生这种情况 错误: constructor(translate: TranslateService) { const DEFAULT_LANG = 'en'; const userLang = translate.getBrowserLang();
如果您使用的语言与使用ng2 translate的
TranslateService设置的默认语言相同,则可能发生这种情况
错误:
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
translate.setDefaultLang(DEFAULT_LANG);
translate.use(userLang);
}
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
if (userLang !== DEFAULT_LANG) {
translate.setDefaultLang(DEFAULT_LANG);
}
translate.use(userLang);
}
建议的解决方案:
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
translate.setDefaultLang(DEFAULT_LANG);
translate.use(userLang);
}
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
if (userLang !== DEFAULT_LANG) {
translate.setDefaultLang(DEFAULT_LANG);
}
translate.use(userLang);
}
这将在本文中进一步讨论
注意:您可能应该在监视用户语言更改的服务中运行此逻辑。如果您使用的语言与使用ng2 translate的TranslateService设置的默认语言相同,则可能会发生这种情况
错误:
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
translate.setDefaultLang(DEFAULT_LANG);
translate.use(userLang);
}
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
if (userLang !== DEFAULT_LANG) {
translate.setDefaultLang(DEFAULT_LANG);
}
translate.use(userLang);
}
建议的解决方案:
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
translate.setDefaultLang(DEFAULT_LANG);
translate.use(userLang);
}
constructor(translate: TranslateService) {
const DEFAULT_LANG = 'en';
const userLang = translate.getBrowserLang();
if (userLang !== DEFAULT_LANG) {
translate.setDefaultLang(DEFAULT_LANG);
}
translate.use(userLang);
}
这将在本文中进一步讨论
注意:您可能应该在一个服务中运行此逻辑,该服务在用户语言更改时进行监视