Vue 3中如何处理懒加载?

发布时间:2024年01月17日

在 Vue 3 中,处理懒加载的方式与 Vue 2 中有所不同。Vue 3 推荐使用 SuspensedefineAsyncComponent 来实现组件的懒加载。

Suspense 组件是 Vue 3 中新增的组件,用于处理异步组件的加载状态。我们可以在 Suspense 中使用 fallback 属性指定一个加载中的占位符,直到异步组件加载完成后再显示真正的内容。

defineAsyncComponent 是 Vue 3 中定义异步组件的新方法。它返回一个 Promise 对象,该 Promise 对象在组件被请求之前解析为一个组件选项对象,从而实现异步组件的加载。

下面是一个使用 SuspensedefineAsyncComponent 实现组件懒加载的示例:

Copy Code<template>
  <div>
    <h1>Lazy Component Demo</h1>
    <Suspense>
      <template #default>
        <AsyncComponent />
      </template>
      <template #fallback>
        <p>Loading...</p>
      </template>
    </Suspense>
  </div>
</template>

<script>
import { defineAsyncComponent } from 'vue';

const AsyncComponent = defineAsyncComponent({
  loader: () => import('./AsyncComponent.vue'),
  delay: 200, //延迟时间
  timeout: 3000, //超时时间
  errorComponent: () => 'Oops, something went wrong!',
  loadingComponent: () => 'Loading component...',
});

export default {
  components: {
    AsyncComponent,
  },
};
</script>

文章来源:https://blog.csdn.net/m0_65346405/article/details/135621055
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。