| 123456789101112131415161718192021222324252627282930 |
- import { defineAsyncComponent, AsyncComponentLoader } from 'vue'
- import { AsyncLoading, AsyncSkeletonLoading } from '@/components/GoLoading'
- /**
- * * 动态注册组件
- */
- export const componentInstall = <T> (key:string, node: T) => {
- if(!window['$vue'].component(key) && node) {
- window['$vue'].component(key, node)
- }
- }
- /**
- * * 异步加载组件
- * @param loader
- * @returns
- */
- export const loadAsyncComponent = (loader: AsyncComponentLoader<any>) =>
- defineAsyncComponent({
- loader,
- loadingComponent: AsyncLoading,
- delay: 20,
- })
-
- export const loadSkeletonAsyncComponent = (loader: AsyncComponentLoader<any>) =>
- defineAsyncComponent({
- loader,
- loadingComponent: AsyncSkeletonLoading,
- delay: 20,
- })
|