| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <script setup lang="ts">
- import {
- NConfigProvider,
- NModalProvider,
- NDialogProvider,
- NNotificationProvider,
- NMessageProvider,
- NWatermark,
- NGlobalStyle,
- NEl,
- } from 'naive-ui'
- import { RouterView } from 'vue-router'
- import Noise from '@/components/Noise.vue'
- import { getConfigProviderProps } from '@/composable/useDiscreteApi'
- import { useConfigureStore } from '@/stores/configure'
- const configureStore = useConfigureStore()
- const configProviderProps = getConfigProviderProps()
- defineOptions({
- // 禁止参数透传
- inheritAttrs: false
- })
- import { ref, onMounted } from 'vue';
- const configProvider = ref(null)
- onMounted(() => {
- if (configProvider.value) {
- console.log(configProvider.value); // 直接获取当前组件实例的 attrs
- }
- })
- </script>
- <template>
- <NConfigProvider ref="configProvider" v-bind="configProviderProps">
- <NGlobalStyle />
- <NEl>
- <NModalProvider>
- <NNotificationProvider placement="bottom-right">
- <NMessageProvider>
- <NDialogProvider>
- <RouterView />
- <NWatermark v-if="configureStore.configure.showWatermark" fullscreen
- v-bind="configureStore.configure.watermarkOptions" />
- <Noise v-if="configureStore.configure.showNoise" />
- </NDialogProvider>
- </NMessageProvider>
- </NNotificationProvider>
- </NModalProvider>
- </NEl>
- </NConfigProvider>
- </template>
|