我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue3中的Teleport功能怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue3中的Teleport功能怎么使用

这篇文章主要介绍“Vue3中的Teleport功能怎么使用”,在日常操作中,相信很多人在Vue3中的Teleport功能怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中的Teleport功能怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Vue3中的Teleport功能怎么使用

Vue3 中,提供了 Teleport 来支持这一功能。

Teleport 的目的

我首先要了解的是何时使用 Teleport 功能。

在处理较大的Vue项目时,有逻辑处理组织代码库是很重要的。 但是,当处理某些类型的组件(如模式,通知或提示)时,模板HTML的逻辑可能位于与我们希望渲染元素的位置不同的文件中。

实际上,在很多时候,与我们的Vue应用程序的DOM完全分开处理时,这些元素的管理要容易得多。 所有这些都是因为处理嵌套组件的位置,z-index和样式可能由于处理其所有父对象的范围而变得棘手。

这种情况就是 Teleport 派上用场的地方。 我们可以在逻辑所在的组件中编写模板代码,这意味着我们可以使用组件的数据或 props。 但是,然后完全将其渲染到我们Vue应用程序的范围之外。

如果不使用 Teleport,我们将不得不担心从子组件向DOM树传递逻辑的事件传播,但现在要简单得多。

Vue Teleport 是如何工作的

假设我们有一些子组件,我们想在其中触发弹出的通知。 正如刚才所讨论的,如果将通知以完全独立的DOM树渲染,而不是Vue的根#app元素,则更为简单。

我们要做的第一件事是打开我们的index.html,并在</body>之前添加一个<p>

// index.html<body>   <div id="app"></div>   <div id='portal-target'></div></body>

接下来,创建触发要渲染的通知的组件。

// VuePortals.vue<template>  <div class='portals'>    <button @click='showNotification'> Trigger Notification! </button>    <teleport to='#portal-target'>      <div v-if="isOpen" class='notification'>        This is rendering outside of this child component!      </div>    </teleport>  </div></template><script>import { ref } from 'vue'export default {  setup () {    const isOpen = ref(false)    var closePopup    const showNotification = () => {      isOpen.value = true      clearTimeout(closePopup)      closePopup = setTimeout(() => {        isOpen.value = false      }, 2000)    }    return {      isOpen,      showNotification    }  }}</script><style scoped>  .notification {    font-family: myriad-pro, sans-serif;    position: fixed;    bottom: 20px;    left: 20px;    width: 300px;    padding: 30px;    background-color: #fff;  }</style>

在此代码段中,当按下按钮时,将渲染2秒钟的通知。 但是,我们的主要目标是使用Teleport获取通知以在我们的Vue应用程序外部渲染。

如你所见,Teleport具有一个必填属性- to

to 需要 prop,必须是有效的查询选择器或 HTMLElement (如果在浏览器环境中使用)。指定将在其中移动 <teleport> 内容的目标元素

由于我们在#portal-target中传递了代码,因此 Vue会找到包含在index.html中的#portal-target p,它会把 Teleport 内的所有代码渲染到该p中。

下面是运行的结果:

Vue3中的Teleport功能怎么使用

检查元素和查看DOM可以清楚地知道发生了什么。

Vue3中的Teleport功能怎么使用

我们可以使用VuePortals组件中的所有逻辑,但是告诉我们的项目在其他地方渲染该模板代码!

到此,关于“Vue3中的Teleport功能怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue3中的Teleport功能怎么使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue3中的Teleport功能怎么使用

这篇文章主要介绍“Vue3中的Teleport功能怎么使用”,在日常操作中,相信很多人在Vue3中的Teleport功能怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中的Teleport功能怎
2023-07-02

Vue3之Teleport组件怎么使用

Teleport组件解决的问题版本:3.2.31如果要实现一个“蒙层”的功能,并且该“蒙层”可以遮挡页面上的所有元素,通常情况下我们会选择直接在标签下渲染“蒙层”内容。如果在Vue.js2中实现这个功能,只能通过原生DOMAPI来手动搬运DOM元素实现,这就会使得元素的渲染与Vue.js的渲染机制脱节,并会导致各种可预见或不可遇见的问题。Vue.js3中内建的Teleport组件,可以将指定内容渲染到特定容器中,而不受DOM层级的限制。可以很好的解决这个问题。下面,我们来看看Teleport组件
2023-05-14

Vue3通用API功能怎么使用

通用APIversion(暴漏当前使用的Vue版本)importVuefrom&#39;vue&#39;;exportdefault{setup(props,context){console.log(Vue.version);return{};}};nextTick(Dom更新完成后触发,用于获取更新后的Dom)当我们更改响应式state时,Vue更新DOM并不是同步实时更新的,而是将同步执行的所有state更新缓存起来,同步代码执行完后再去执行Dom更新操作,很大程度的优化了r
2023-05-14

vue3怎么使用vuedraggable实现拖拽功能

这篇文章主要介绍了vue3怎么使用vuedraggable实现拖拽功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3怎么使用vuedraggable实现拖拽功能文章都会有所收获,下面我们一起来看看吧。1
2023-06-29

Vue3中内置组件Teleport的基本使用与典型案例

Teleport是一种能够将我们的模板移动到DOM中Vueapp之外的其他位置的技术,下面这篇文章主要给大家介绍了关于Vue3中内置组件Teleport的基本使用与典型案例的相关资料,需要的朋友可以参考下
2023-05-18

Vue3中的watch怎么使用

这篇文章主要介绍“Vue3中的watch怎么使用”,在日常操作中,相信很多人在Vue3中的watch怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中的watch怎么使用”的疑惑有所帮助!接下来
2023-07-05

vue3中的createApp怎么使用

函数定义createApp函数定义在文件packages/runtime-dom/src/index.ts中exportconstcreateApp=((...args)=>{constapp=ensureRenderer().createApp(...args)if(__DEV__){injectNativeTagCheck(app)injectCompilerOptionsCheck(app)}const{mount}=appapp.mount=(containerOrSelector
2023-05-23

vue3中的$refs怎么使用

这篇文章主要介绍“vue3中的$refs怎么使用”,在日常操作中,相信很多人在vue3中的$refs怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3中的$refs怎么使用”的疑惑有所帮助!接下来
2023-06-29

Vue3中的TypeScript怎么使用

这篇文章主要介绍“Vue3中的TypeScript怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3中的TypeScript怎么使用”文章能帮助大家解决问题。如何声明字段名为枚举的类型?
2023-06-05

vue3中的reactive()怎么使用

本篇内容介绍了“vue3中的reactive()怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!调试版本为3.2.45什么是react
2023-07-04

Vue3中的readonly怎么使用

在Vue3中,可以通过readonly函数将一个对象转化为只读的,使其属性成为只读的,无法被修改。使用方法如下:import { readonly } from 'vue';const myObject = { nam
Vue3中的readonly怎么使用
2024-03-08

怎么使用vue3中的axios

这篇文章主要讲解了“怎么使用vue3中的axios”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用vue3中的axios”吧!使用 axios 之前,需要先安装好。yarn add a
2023-06-25

Spring中的@Scheduled功能怎么使用

这篇文章主要介绍“Spring中的@Scheduled功能怎么使用”,在日常操作中,相信很多人在Spring中的@Scheduled功能怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring中的@
2023-06-29

vue3中的ref、reactive怎么使用

本篇内容主要讲解“vue3中的ref、reactive怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue3中的ref、reactive怎么使用”吧!reactive()基本用法在 Vu
2023-07-05

vue3中getCurrentInstance怎么使用

父组件中:1.setup语法糖中导入子组件2.在子组件标签上绑定ref值3.setup内部从vue中按需导出getCurrentInstance方法4.调用getCurrentInstance方法导出proxy5.通过proxy.$refs.子组件ref名.子组件内属性/方法实现调用子组件count+1import{getCurrentInstance,ComponetInternalInstance,ref}from"vue";importChildfrom"./
2023-05-16

vue3中怎么使用swiper

今天小编给大家分享一下vue3中怎么使用swiper的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。介绍在 vue3 中使用
2023-07-05

Vue3中TypeScript怎么使用

如何声明字段名为枚举的类型?根据设计,type字段应该是一个枚举值,不应该由调用方随意设置。下面是Type的枚举声明,共有6个字段。enumType{primary="primary",success="success",warning="warning",warn="warn",//warningaliasdanger="danger",info="info",}TypeSc
2023-05-18

vue3中localStorage怎么使用

在Vue3中,可以通过以下方式来使用localStorage:1. 获取localStorage的值:```javascriptconst value = localStorage.getItem('key');```2. 设置localS
2023-08-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录