【问题标题】:How to store selected language in local storage Angular如何将所选语言存储在本地存储Angular中
【发布时间】:2021-05-09 13:19:18
【问题描述】:

我需要将选定的语言存储在本地存储中。这是我的任务:

页面初始化后检查用户之前是否选择了语言,如果是 -> 将所选语言设置为默认,如果没有 -> 使用浏览器语言,如果支持列表中没有浏览器语言,则使用默认('en' )。

这是我的代码

public languages = [{
    name: 'English',
    code: 'en',
    icon: 'assets/images/flags/en.png'
}, {
    name: 'French',
    code: 'fr',
    icon: 'assets/images/flags/fr.png'
}, {
    name: 'Русский',
    code: 'ru',
    icon: 'assets/images/flags/ru.png'
}];

this.selectedLanguage = this.languages.find(lang => lang.code === this.translate.defaultLang);

changeLanguage(language) {
    if (isPlatformBrowser(this.platformId)) {
        this.translate.use(language.code);
    }
    this.selectedLanguage = language;
}

【问题讨论】:

  • 只要使用localStorage.setItem('lang', language)
  • 不需要对角度做任何事情。只需使用localstorage.setItem('name',language)。要检索使用 localstorage.getItem ('name')`。注意:localstorage 只存储为字符串,所以使用 JSON.stringify 和 JSON.parse
  • 非常感谢您抽出宝贵时间:)

标签: html angular typescript


【解决方案1】:

要向本地存储添加内容,您只需执行localStorage.setItem('selectedLanguage', JSON.stringify(language))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 2014-03-31
    • 2014-12-04
    • 2016-03-07
    • 2017-02-11
    • 2019-03-24
    相关资源
    最近更新 更多