mirror of
https://gitee.com/dromara/go-view.git
synced 2025-02-24 16:22:57 +08:00
31 lines
744 B
TypeScript
31 lines
744 B
TypeScript
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,
|
|
})
|