• Vue引入异步组件


    defineAsyncComponent 函数:异步引入组件。

    Suspense 标签:异步引入组件时,显示默认的内容。

     异步引入组件的基本使用:

     异步引入组件:

    1. import { defineAsyncComponent } from 'vue';
    2. const Child = defineAsyncComponent(() => {
    3. return import('../components/Child.vue');
    4. });

    设置组件默认显示的内容:

    1. <Suspense>
    2. <template v-slot:default>
    3. <Child>Child>
    4. template>
    5. <template v-slot:fallback>
    6. <h3>加载中,请稍等...h3>
    7. template>
    8. Suspense>

    :Suspense 标签中有两个插槽 default 和 fallback,插槽名是固定的,不能随意更改。

    异步引入组件的作用:

    创建 Child 子组件:

    1. <script>
    2. export default {
    3. name: "Child"
    4. }
    5. script>
    6. <style scoped>
    7. .child {
    8. background-color: red;
    9. padding: 10px;
    10. }
    11. style>

    创建 Parent 父组件:通过静态引入的方式使用 Child 组件。

    1. <template>
    2. <div class="parent">
    3. <h3>我是Parent组件(父组件)h3>
    4. <Child>Child>
    5. div>
    6. template>
    7. <script>
    8. // 静态引入【同步引入】
    9. import Child from '../components/Child';
    10. export default {
    11. name: "Parent",
    12. components: { Child }
    13. }
    14. script>
    15. <style scoped>
    16. .parent {
    17. background-color: aqua;
    18. padding: 10px;
    19. }
    20. style>

    :在控制台的 Network 中,将网络调成 Slow 3G(慢的 3G 网络)。刷新页面后,我们会发现父组件和子组件是一起显示的。

    :假如子组件中的数据量特别大,那么静态引入时,也会导致父组件延迟显示。

    修改 Parent 父组件:通过异步引入的方式使用 Child 组件。

    1. <template>
    2. <div class="parent">
    3. <h3>我是Parent组件(父组件)h3>
    4. <Child>Child>
    5. div>
    6. template>
    7. <script>
    8. // 引入 defineAsyncComponent 函数
    9. import { defineAsyncComponent } from 'vue';
    10. // 动态引入【异步引入】
    11. const Child = defineAsyncComponent(() => {
    12. return import('../components/Child.vue');
    13. });
    14. export default {
    15. name: "Parent",
    16. components: { Child }
    17. }
    18. script>
    19. <style scoped>
    20. .parent {
    21. background-color: aqua;
    22. padding: 10px;
    23. }
    24. style>

    :同样调成 Slow 3G 网络,我们会发现父组件显示出来之后,子组件才显示。

     

    原创作者:吴小糖

    创作时间:2023.10.27

  • 相关阅读:
    TDengine3.0计算查询引擎的优化与升级
    【系统架构设计】架构核心知识: 3.8 ADL和产品线
    【硬件通讯协议】SIP总线协议以及模拟(软件)SPI
    Android插件化学习之加载插件资源
    thinkphp5.1整合波场trc20
    【Python】初始Python
    多元融合:流媒体传输网络的全盘解法
    【前后缀 + 推公式整理】 Codeforces Round #813 (Div. 2) D. Empty Graph
    金蝶云星空——单据附件上传
    现代电信交换【复习&上课时的习题】
  • 原文地址:https://blog.csdn.net/xiaowude_boke/article/details/134081194