• 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

  • 相关阅读:
    opencv c++ 图像梯度、边缘、锐化
    mysql的数据表同步工具 canal的使用
    pve 故障记录
    SSGSSRCSR区别
    个性化实时音乐推荐系统-毕业设计
    中国物流与采购杂志中国物流与采购杂志社中国物流与采购编辑部2022年第14期目录
    参数优化文档介绍
    PyCharm运行PyQT6 (四) 百篇文章学PyQT
    springboot毕设项目大学生兼职平台系统的设计与实现376g2(java+VUE+Mybatis+Maven+Mysql)
    kafka伪集群部署,使用docker环境拷贝模式
  • 原文地址:https://blog.csdn.net/xiaowude_boke/article/details/134081194