异步组件处理加载状态用法

来源:3-13 异步组件(高级)

rookie_white

2021-10-20

老师好!因为业务的需求,需要使用高级异步组件来处理,组件加载跟失败的场景。但是一直没使用成功,没找到原因。

const AsyncComponent = () => ({
  // 需要加载的组件 (应该是一个 `Promise` 对象)
  component: import('./MyComponent.vue'),
  // 异步组件加载时使用的组件
  loading: LoadingComponent,
  // 加载失败时使用的组件
  error: ErrorComponent,
  // 展示加载时组件的延时时间。默认值是 200 (毫秒)
  delay: 200,
  // 如果提供了超时时间且组件加载也超时了,
  // 则使用加载失败时使用的组件。默认值是:`Infinity`
  timeout: 3000

我分别设置弱网环境跟无网环境进行切换,也没有显示 loadingComponent和errorComponent
能麻烦老师看一下么,不知道是哪里使用有问题.复现仓库地址
谢谢老师!

写回答

1回答

ustbhuangyi

2021-10-20

路由视图组件貌似不支持这种高级异步组件的写法喔

0
5
ustbhuangyi
回复
rookie_white
那就先渲染这个 loading 组件,然后在异步组件 mounted 的时候再通知 Loading 组件销毁
2021-10-22
共5条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程