首页 > 其他分享 >vue3异步组件

vue3异步组件

时间:2024-06-03 11:34:05浏览次数:21  
标签:异步 渲染 error 等待时间 vue3 组件 默认值

vue2

// 定义一个异步组件
const AsyncComponent = () => ({
  // 需要加载的组件 (应该是一个 Promise)
  component: import('./MyComponent.vue'),
  // 加载中应当渲染的组件
  loading: LoadingComponent,
  // 出错时渲染的组件
  error: ErrorComponent,
  // 渲染 loading 组件前的等待时间。默认值是 200ms。
  delay: 200,
  // 最长等待时间。超出此时间则渲染 error 组件。默认值是 Infinity。
  timeout: 3000
});

new Vue({
  el: '#app',
  components: {
    'async-component': AsyncComponent
  }
});

  vue3

import { defineAsyncComponent } from 'vue';

// 定义一个异步组件
const AsyncComponent = defineAsyncComponent({
  // 需要加载的组件 (应该是一个 Promise)
  loader: () => import('./MyComponent.vue'),
  // 加载中应当渲染的组件
  loadingComponent: LoadingComponent,
  // 出错时渲染的组件
  errorComponent: ErrorComponent,
  // 渲染 loading 组件前的等待时间。默认值是 200ms。
  delay: 200,
  // 最长等待时间。超出此时间则渲染 error 组件。默认值是 Infinity。
  timeout: 3000,
  // 自定义的重试行为
  one rror(error, retry, fail, attempts) {
    if (attempts <= 3) {
      // 重试 3 次
      retry();
    } else {
      // 失败
      fail();
    }
  }
});

const app = createApp({
  components: {
    'async-component': AsyncComponent
  }
});

app.mount('#app');

  <Teleport  to="css选择器   body">  button 点击打得开蒙层  </Teleport>
虚拟dom元素  实际渲染dom位置

标签:异步,渲染,error,等待时间,vue3,组件,默认值
From: https://www.cnblogs.com/liagon/p/18228450

相关文章

  • 使用form-create监听组件的事件
    FormCreate是一个可以通过JSON生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。支持5个UI框架,并且支持生成任何Vue组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定FormCreate官网:https://www.form-create.com帮助文档:https://form-create.c......
  • 使用form-create生成表单组件
    FormCreate是一个可以通过JSON生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。支持5个UI框架,并且支持生成任何Vue组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定FormCreate官网:https://www.form-create.com帮助文档:https://form-create.c......
  • vue3 使用element plus 方式
    安装依赖npminstallelement-plus--save引入依赖import'./assets/main.css'import{createApp}from'vue'import{createPinia}from'pinia'importAppfrom'./App.vue'importrouterfrom'./router'//从这里引......
  • Vue.js 动态组件与异步组件
    title:Vue.js动态组件与异步组件date:2024/6/2下午9:08:50updated:2024/6/2下午9:08:50categories:前端开发tags:Vue概览动态组件异步加载性能提升路由管理状态控制工具生态第1章Vue.js简介1.1Vue.js概述Vue.js是一个渐进式的JavaScript框架,用于构......
  • rt-thread 系统pm组件在4.1.1版本的无法正常唤醒的问题解决方法
    在老的rt-thread版本系统pm组件调试ok,后来使用4.1.1版本时发现进入低功耗后无法正常唤醒,问题解决路径如下硬件信息:cpu STM32L431CCT6新建系统打开pm组件后也没有drv_pm.c和drv_lptim.c自动添加,需要到系统目下找到并复制到driver目录下C:\RT-ThreadStudio\repo\Extract\R......
  • vue3 vite 项目tsx写法尝试
    vite配置上面jsx插件搞好就能在vue项目中使用jsx写法了代码尝试ChildWorld.vue<scriptlang="tsx">import{defineComponent,defineProps}from"vue"constchildAbc=()=>{return(<div>childAbc</div>)}constchildCbd=(props,......
  • [干货]在纯血鸿蒙星河版next中组件封装方法--看我就够了
    首先组件封装一般是为了解决两个问题,复用和一定程度上提高维护性,组件的本质就是一个接受参数返回UI的函数容器,所以封装的重点和难点就是抽象合适的参数类型返回合适的UI,接下来我来给家人们说说封装组件的一般方法封装组件的一般方法呢有两种,思想家人们掌握之后往上套就行了,我......
  • 鸿蒙HarmonyOS实战-Web组件(请求响应和页面调试)
    ......
  • vue3随笔
    vite:相比webpack webpack先通过入口文件找依赖 然后打包bounder然后启动devServervite 直接启动devServer然后找依赖模块由浏览器去请求本地服务返回依赖模块项目越多模块越大vite越好效率提升静态提升 静态节点 没有动态绑定的内容会提升到render函......
  • vue3 && uni-app 中小程序实现 底部tabbar 中间凸起部分 或者说自定义底部tabbar [保
    1、先来看一下效果2、代码实现 我们还是在pages.json 中正常配置我们底部的tabbar但是需要添加一个字段 "custom":true,//开启自定义tabBar 不填每次原来的tabbar在重新加载时都回闪现3、在pages同一级或者里面创建一个子组件用来放我们的模版 4、在......