• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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
    }