首页 > 解决方案 > Angular:如何根据键值更改值

问题描述

你好,所以我得到一个字符串值,我想将它传递给另一个函数。例如,如果我得到“eng”,我希望它是“en”。我不想使用 slice 或 if。我尝试制作一个枚举,但没有奏效。

ngOnInit(): void {    
this.setLocaleDateFormat(this.translateService.currentLang);
    }

 setLocaleDateFormat(language: Languages): void {
    this.dateAdapter.setLocale(language);   } 

export enum Languages {   
'eng' = 'en',   
'slk' = 'sk',   
'cze' = 'cz',
 }

所以我想传递值并根据一些模板将其更改为其他内容。我正在学习英语,但我想将本地环境设置为 en,例如。

标签: angulartypescript

解决方案


从您的帖子中,我相信this.translateService.currentLang会返回“eng”。我对此表示怀疑,但回到你的问题。语言不应该是枚举。它应该是一个常量对象。

export const Languages = {
  eng: 'en',
  slk: 'sk',
  cze:  'cz',
};

setLocaleDateFormat(): void {
    this.dateAdapter.setLocale(Languages[this.translateService.currentLang]);
}

推荐阅读