注意:目前(2022-08-01)Suspense显示的是一个实验性的特性,API随时可能会修改

Suspense是一个内置的全局组件,该组件有两个插:

  • default:如果default可以显示,那么显示default的内容;
  • fallback:如果default无法显示,那么会显示falback插槽的内容:

代码示例

// asyncHome.vue
<template>
  <div class="home">
    <h2>home</h2>
  </div>
</template>

<script setup>

</script>

<style lang="less" scoped>

</style>

** fallback是应急的意思,所以在没有加载完成的时候会显示这个页面 **

// App.vue
<template>
  <div class="app">
    <suspense>
      <template #default>
        <async-home></async-home>
      </template>
      <template #fallback>
        <h2>Loading</h2>
      </template>
    </suspense>  
  </div>
</template>  
<script setup>
import { defineAsyncComponent } from 'vue';

const AsyncHome = defineAsyncComponent(() => import("./AsyncHome.vue"))

</script>

<style scoped>

</style>

** 感谢大家观看,我们下次见 **