为什么切换语言MenuItem组件的generateTitle会自动执行

来源:5-43 tagsView 方案总结

城北丶

2023-03-16

当我进行国际化语言切换的时候,我发现generateTitle()这个函数重新进行了执行,这个函数是如何被触发进行执行的呢?
图片描述

写回答

2回答

johnny_2008

2023-05-14

<template>
  <form>
    <label>{{ t('language') }}</label>
    <select v-model="locale">
      <option value="en">en</option>
      <option value="ja">ja</option>
    </select>
  </form>
  <p>message: {{ t('hello') }}</p>
</template>

<script>
import { useI18n } from 'vue-i18n'

export default {
 setup() {
   const { t, locale } = useI18n({
     locale: 'ja',
     messages: {
       en: { ... },
       ja: { ... }
     }
   })
   // Something to do ...

   return { ..., t, locale }
 }
}
</script>

locale 是响应式的 i18n 监听到 locale 的变化进行了处理

0
0

Sunday

2023-03-16

你好

因为 generateTitle 在 template 中被引用。

0
4
城北丶
所以说,在APPMain.vue中执行watchSwitchLang()函数是多此一举的,我们可以在TagsView.vue组件中的template中直接调用generateTitle(tag.meta.title),我们不需要关心本地存储中title是什么语言,因为最终读取出来的title一定是当前语言环境解析之后的
2023-03-16
共4条回复

基于Vue3新标准,打造后台综合解决方案

基于Vue3重写Vue-element-admin,打造后台前端综合解决方案

1940 学习 · 1687 问题

查看课程