Просмотр исходного кода

refactor(layouts): 移除布局中的主题配置并集中到App层

将主题配置从default.vue和tabbar.vue布局中移除,统一在App.ku.vue中管理
删除不再使用的tabbar.vue布局文件
feige996 8 месяцев назад
Родитель
Сommit
1a41a084c0
3 измененных файлов с 10 добавлено и 31 удалено
  1. 9 2
      src/App.ku.vue
  2. 1 9
      src/layouts/default.vue
  3. 0 20
      src/layouts/tabbar.vue

+ 9 - 2
src/App.ku.vue

@@ -1,9 +1,12 @@
 <script setup lang="ts">
 import { ref } from 'vue'
+import { useThemeStore } from '@/store'
 import FgTabbar from '@/tabbar/index.vue'
 import { isPageTabbar } from './tabbar/store'
 import { currRoute } from './utils'
 
+const themeStore = useThemeStore()
+
 const isCurrentPageTabbar = ref(true)
 onShow(() => {
   console.log('App.ku.vue onShow', currRoute())
@@ -24,7 +27,11 @@ defineExpose({
   <view class="text-center">
     {{ helloKuRoot }},这里可以配置全局的东西
   </view>
-  <!-- 顶级 KuRootView -->
-  <KuRootView />
+  <wd-config-provider :theme-vars="themeStore.themeVars" :theme="themeStore.theme">
+    <KuRootView />
+  </wd-config-provider>
+
   <FgTabbar v-if="isCurrentPageTabbar" />
+  <wd-toast />
+  <wd-message-box />
 </template>

+ 1 - 9
src/layouts/default.vue

@@ -1,8 +1,4 @@
 <script lang="ts" setup>
-import { useThemeStore } from '@/store'
-
-const themeStore = useThemeStore()
-
 const testUniLayoutExposedData = ref('testUniLayoutExposedData')
 defineExpose({
   testUniLayoutExposedData,
@@ -10,9 +6,5 @@ defineExpose({
 </script>
 
 <template>
-  <wd-config-provider :theme-vars="themeStore.themeVars" :theme="themeStore.theme">
-    <slot />
-    <wd-toast />
-    <wd-message-box />
-  </wd-config-provider>
+  <slot />
 </template>

+ 0 - 20
src/layouts/tabbar.vue

@@ -1,20 +0,0 @@
-<script lang="ts" setup>
-import { useThemeStore } from '@/store'
-import FgTabbar from '@/tabbar/index.vue'
-
-const themeStore = useThemeStore()
-
-const testUniLayoutExposedData = ref('testUniLayoutExposedData')
-defineExpose({
-  testUniLayoutExposedData,
-})
-</script>
-
-<template>
-  <wd-config-provider :theme-vars="themeStore.themeVars" :theme="themeStore.theme">
-    <slot />
-    <FgTabbar />
-    <wd-toast />
-    <wd-message-box />
-  </wd-config-provider>
-</template>