当前位置: 首页 > news >正文

Vue内置组件Teleport和Suspense

一. Vue内置组件Teleport

    1. 认识Teleport( teleport:允许我们把组件的模板渲染到特定的元素上)
    • 1.1. 在组件化开发中,我们封装一个组件A,在另外一个组件B中使用

      • 组件A中template的元素,会被挂载到组件B中template的某个位置;
      • 最终我们的应用程序会形成一颗DOM树结构;
    • 1.2. 某些情况下,希望组件不是挂载在这个组件树上,可能是移动到Vue app之外的其他位置;

      • 比如移动到body元素上,或者我们有其他的div#app之外的元素上;
      • 这种场景可以通过teleport来完成;
    • 1.3.Teleport的解释

      • 它是一个Vue提供的内置组件,类似于react的Portals;
      • teleport翻译过来是心灵传输、远距离运输的意思:
        • 它有两个属性:
          • to: 指定将其中的内容移动到的目标元素,可以使用选择器
          • disabled: 是否禁用teleport的功能
    • 1.4. 多个teleport

      • 将多个teleport应用到同一个目标上(to的值相同), 那么这些目标会进行合并:
        <template><div class="app"><div class="hello-word"><p class="content"><teleport to="body"><hello-word></hello-word></teleport><teleport to="#abc"><hello-word></hello-word></teleport><teleport to="#abc"><h2>哈哈哈哈</h2></teleport></p></div></div></template>
      

      在这里插入图片描述

二. Vue内置组件Suspense

  • Suspense:异步组件

  • 1.1. 目前Suspense显示的是一个实验性的特性,API随时可能会修改

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

    • default: 如果default可以显示,默认显示default的内容
    • fallback: 如果default无法显示,则显示fallback插槽的内容(fallback中文翻译:应急方案)
      <template><div class="app"><!-- app在解析这个组件,需要从服务器下载下来在解析这个组件,他需要有一个下载的过程,还没下载下来需要显示一个默认的组件,--><!-- fallback:应急方案 在文件还没加载过来或者还没下载下来时候显示这个插槽内容  --><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>
    

相关文章:

  • 【开发心得】筑梦上海:项目风云录(18)
  • IT运维工具推荐
  • 【OCCT+ImGUI系列】012-Geom2d_AxisPlacement
  • 大模型:从基座构建到应用落地--预训练与后训练及个人解析-2025.6
  • CentOS Stream 8 Unit network.service not found
  • java类的生命周期
  • 【请关注】VC内存泄露的排除及处理
  • 基于wifi的室内定位算法设计与实现
  • 双周报Vol.73:移除使用方法实现 trait 、新增了 “错误多态” 功能、.语法支持使用 _ 的匿名函数...
  • 系统思考:短期利益与长期系统影响
  • vue实现点击单选或者多选模式
  • 力扣刷题 -- 225. 用队列实现栈
  • Matplotlib + Seaborn绘图类型清单
  • Java对象比较与排序的常见错误及解决方案
  • Unity异常上报飞书工具
  • ADI硬件笔试面试题型解析下
  • 【macbook】触控板手势
  • 词语翻译的三步法与背后的语言学思维
  • RPG20.创建敌人的初始能力和加载武器
  • MYSQL索引详解及索引优化、分析
  • 网站换空间的流程/网站运营专员
  • 网站怎么建设/百度在线咨询
  • 企业网站的建立如何带来询盘/seopeixun com cn
  • 包装设计的网站/滨州seo招聘
  • 免费注册网站/优化方案电子版
  • widgets wordpress怎么建/珠海seo关键词排名