App.vue 960 B

123456789101112131415161718192021222324252627282930313233343536
  1. <template>
  2. <el-config-provider :value-on-clear="() => null" :locale="lang">
  3. <router-view></router-view>
  4. </el-config-provider>
  5. </template>
  6. <script setup lang="ts">
  7. import { onMounted, watch } from 'vue'
  8. import { useI18n } from 'vue-i18n'
  9. import { useRoute } from 'vue-router'
  10. import { useConfig } from '/@/stores/config'
  11. import { setTitleFromRoute } from '/@/utils/common'
  12. import iconfontInit from '/@/utils/iconfont'
  13. import { init as viteInit } from '/@/utils/vite'
  14. // modules import mark, Please do not remove.
  15. const route = useRoute()
  16. const config = useConfig()
  17. // 初始化 element 的语言包
  18. const { getLocaleMessage } = useI18n()
  19. const lang = getLocaleMessage(config.lang.defaultLang) as any
  20. onMounted(() => {
  21. viteInit()
  22. iconfontInit()
  23. // Modules onMounted mark, Please do not remove.
  24. })
  25. // 监听路由变化时更新浏览器标题
  26. watch(
  27. () => route.path,
  28. () => {
  29. setTitleFromRoute()
  30. }
  31. )
  32. </script>