fix: 国际化切换动态title

This commit is contained in:
xiaoxian521
2021-04-28 15:07:24 +08:00
parent 2d5a82ddc0
commit 8cb2d896ad
4 changed files with 26 additions and 18 deletions

View File

@@ -41,12 +41,12 @@
</template>
<script lang="ts">
import { ref, defineComponent, onMounted } from "vue";
import { ref, defineComponent, onMounted, unref, watch } from "vue";
import Breadcrumb from "/@/components/BreadCrumb";
import Hamburger from "/@/components/HamBurger";
import screenfull from "../components/screenfull/index.vue";
import { useMapGetters } from "../store";
import { useRouter } from "vue-router";
import { useRouter, useRoute } from "vue-router";
import { useStore } from "vuex";
import { storageSession } from "/@/utils/storage";
import { useI18n } from "vue-i18n";
@@ -68,10 +68,11 @@ export default defineComponent({
const store = useStore();
const router = useRouter();
const route = useRoute();
let usename = storageSession.getItem("info").username;
const { locale } = useI18n();
const { locale, t } = useI18n();
// 国际化语言切换
const toggleLang = (): void => {
@@ -79,6 +80,14 @@ export default defineComponent({
langs.value ? (locale.value = "zh") : (locale.value = "en");
};
watch(
() => langs.value,
val => {
//@ts-ignore
document.title = t(unref(route.meta.title)); // 动态title
}
);
// 退出登录
const logout = (): void => {
storageSession.removeItem("info");