changeLang(e) { this.$changeLang(e); if(e == 'zh'){ //如果是中文:将中文缓存起来,并且赋值给全局的i18n对象的locale。完成切换。 localStorage.setItem('locale', 'zh') this.$i18n.locale = localStorage.getItem('locale') } else { localStorage.setItem('locale', 'en') this.$i18n.locale = localStorage.getItem('locale') } }, mounted() { const loginForm = Cookies.get("loginForm"); if (loginForm) { this.loginForm = JSON.parse(loginForm); } //用户每次刷新页面都判断 是否缓存过 语言,缓存过的话 选择其中显示的应该是缓存的语言 localStorage.getItem('locale') == 'zh' ? this.value = 'zh' : this.value = 'en' },
时间: 2024-04-20 10:23:14 浏览: 147
使用vue 国际化i18n 实现多实现语言切换功能
5星 · 资源好评率100%
这段代码是一个Vue组件的方法和生命周期钩子函数。`changeLang`方法用来切换语言,它接收一个参数`e`,首先调用了一个名为`$changeLang`的方法,然后根据参数`e`的值判断是切换为中文还是英文。如果是中文,将中文缓存起来,并将其赋值给全局的i18n对象的locale属性,完成语言切换。如果是英文,则将英文缓存起来。`mounted`生命周期钩子函数在组件挂载之后执行,它首先获取名为"loginForm"的cookie,并将其解析为对象赋值给组件的`loginForm`属性。然后判断是否缓存过语言,如果缓存过且语言为中文,则将this.value设置为'zh',否则设置为'en'。
阅读全文