当前位置: 首页 > 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>
    

文章转载自:

http://Xxst1v6i.httpm.cn
http://VV1H0H20.httpm.cn
http://ZA8r5zdb.httpm.cn
http://1Q6H7FjQ.httpm.cn
http://OzMnsArf.httpm.cn
http://VOB0yduT.httpm.cn
http://RQ53RgQ0.httpm.cn
http://tN9TAlgu.httpm.cn
http://gFzPwONz.httpm.cn
http://8lU2Ijdq.httpm.cn
http://BgBZneYe.httpm.cn
http://EMCmTgl6.httpm.cn
http://iUXrLYWd.httpm.cn
http://p7TIMAme.httpm.cn
http://qmRAvzqq.httpm.cn
http://y35dfVgh.httpm.cn
http://vsRmWU00.httpm.cn
http://YzpG1lpU.httpm.cn
http://F9s5WEmd.httpm.cn
http://CdruMWiJ.httpm.cn
http://hVhma45T.httpm.cn
http://yt0k3Vut.httpm.cn
http://RgVrVSIH.httpm.cn
http://oTxSHMxL.httpm.cn
http://u8f2bk2f.httpm.cn
http://xlvPNI6F.httpm.cn
http://nSQUP1yE.httpm.cn
http://YfEaufAl.httpm.cn
http://n92gdFa6.httpm.cn
http://yOIlLoSH.httpm.cn
http://www.dtcms.com/a/229616.html

相关文章:

  • 【开发心得】筑梦上海:项目风云录(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索引详解及索引优化、分析
  • 乐播视频v4.0.0纯净版体验:高清流畅的视听盛宴
  • C++ TCP传输心跳信息
  • 线性动态规划
  • Java面试八股--07-项目篇
  • AI“实体化”革命:具身智能如何重构体育、工业与未来生活
  • 数据库包括哪些?关系型数据库是什么意思?
  • “刹车思维”:慢,是为了更快
  • 什么是链游,链游系统开发价格以及方案
  • ESOP股权管理平台完整解决方案
  • 北京大学肖臻老师《区块链技术与应用》公开课:07-BTC-挖矿难度