32 lines
946 B
Vue
Raw Normal View History

2023-03-04 09:16:33 +08:00
<!-- 💥 这里是一次性加载 LayoutComponents -->
<template>
<component :is="LayoutComponents[themeConfig.layout]" />
<ThemeDrawer />
</template>
<script setup lang="ts" name="layout">
import { computed, type Component } from "vue";
import { GlobalStore } from "@/stores";
import ThemeDrawer from "./components/ThemeDrawer/index.vue";
import LayoutVertical from "./LayoutVertical/index.vue";
import LayoutClassic from "./LayoutClassic/index.vue";
import LayoutTransverse from "./LayoutTransverse/index.vue";
import LayoutColumns from "./LayoutColumns/index.vue";
const LayoutComponents: { [key: string]: Component } = {
vertical: LayoutVertical,
classic: LayoutClassic,
transverse: LayoutTransverse,
columns: LayoutColumns
};
const globalStore = GlobalStore();
const themeConfig = computed(() => globalStore.themeConfig);
</script>
<style scoped lang="scss">
.layout {
min-width: 760px;
}
</style>