defineAsyncComponent()
定义一个仅在渲染时才延迟加载的异步组件。参数可以是加载器函数,也可以是用于更高级控制加载行为的选项对象。
类型
function defineAsyncComponent(
source: AsyncComponentLoader | AsyncComponentOptions
): Component
type AsyncComponentLoader = () => Promise<Component>
interface AsyncComponentOptions {
// 工厂函数
loader: AsyncComponentLoader
// 加载异步组件时要使用的组件
loadingComponent?: Component
// 加载失败时要使用的组件
errorComponent?: Component
// 在显示 loadingComponent 之前的延迟 | 默认值:200(单位 ms)
delay?: number
// 默认值:Infinity(即永不超时,单位 ms)
timeout?: number
// 定义组件是否可挂起 | 默认值:true
suspensible?: boolean
/**
*
* @param {*} error 错误信息对象
* @param {*} retry 一个函数,用于指示当 promise 加载器 reject 时,加载器是否应该重试
* @param {*} fail 一个函数,指示加载程序结束退出
* @param {*} attempts 允许的最大重试次数
*/
onError?: (
error: Error,
retry: () => void,
fail: () => void,
attempts: number
) => any
}
