iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue3中的Teleport功能怎么使用
  • 572
分享到

Vue3中的Teleport功能怎么使用

2023-07-02 18:07:50 572人浏览 薄情痞子
摘要

这篇文章主要介绍“vue3中的Teleport功能怎么使用”,在日常操作中,相信很多人在Vue3中的Teleport功能怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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功能怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Vue3中的Teleport功能怎么使用

本文链接: https://www.lsjlt.com/news/343641.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Vue3中的Teleport功能怎么使用
    这篇文章主要介绍“Vue3中的Teleport功能怎么使用”,在日常操作中,相信很多人在Vue3中的Teleport功能怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中的Teleport功能怎...
    99+
    2023-07-02
  • 详解Vue3中Teleport的使用
    目录Teleport 的目的 Teleport 是怎样工作的 在本文中,我们将介绍: Teleport 的目的 Teleport 的例子 一些很有意思的代码...
    99+
    2024-04-02
  • Vue3之Teleport组件怎么使用
    Teleport 组件解决的问题版本:3.2.31如果要实现一个 “蒙层” 的功能,并且该 “蒙层” 可以遮挡页面上的所有元素,通常情况下我们会选择直接在 标签下渲染 “蒙层” 内容。如果在Vue.js 2 中实现这个功能,只能通过原生 D...
    99+
    2023-05-14
    Vue3 teleport
  • vue2怎么实现vue3的teleport
    本篇内容主要讲解“vue2怎么实现vue3的teleport”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue2怎么实现vue3的teleport”吧!vue2实现vue3的teleport不...
    99+
    2023-06-30
  • vue3 teleport的使用案例详解
    官网 https://cli.vuejs.org/zh/guide/ 有时组件模板的一部分逻辑上属于该组件,而从技术角度来看,最好将模板的这一部分移动到 DOM 中 Vue app ...
    99+
    2024-04-02
  • Vue3通用API功能怎么使用
    通用APIversion (暴漏当前使用的Vue版本)import Vue from 'vue'; export default { setup(props, context) { console.l...
    99+
    2023-05-14
    API Vue3
  • Vue3中Teleport 组件的原理是什么
    这篇文章将为大家详细讲解有关Vue3中Teleport 组件的原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用场景业务开发的过程中,我们经常会封...
    99+
    2024-04-02
  • Vue3中内置组件Teleport的基本使用与典型案例
    目录1. 基本概念1.1 简单理解1.2 典型案例2. 基础使用2.1 传送 DOM 节点2.2 传送组件2.3 禁用传送功能2.4 多个元素传送给一个节点总结1. 基本概念 1.1...
    99+
    2023-05-18
    vue3内置组件 vue3 teleport vue3内置teleport
  • vue3怎么使用vuedraggable实现拖拽功能
    这篇文章主要介绍了vue3怎么使用vuedraggable实现拖拽功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3怎么使用vuedraggable实现拖拽功能文章都会有所收获,下面我们一起来看看吧。n...
    99+
    2023-06-29
  • Vue3通用API功能如何使用
    这篇文章主要介绍了Vue3通用API功能如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3通用API功能如何使用文章都会有所收获,下面我们一起来看看吧。通用APIversion (暴漏当前使用的Vu...
    99+
    2023-07-06
  • vue3使用vuedraggable实现拖拽功能
    本文实例为大家分享了vue3使用vuedraggable实现拖拽功能的具体代码,供大家参考,具体内容如下 1、npm i vuedraggable -S,使用这个命令,vue3会报错...
    99+
    2024-04-02
  • Vue3中的watch怎么使用
    这篇文章主要介绍“Vue3中的watch怎么使用”,在日常操作中,相信很多人在Vue3中的watch怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中的watch怎么使用”的疑惑有所帮助!接下来...
    99+
    2023-07-05
  • vue3中的reactive()怎么使用
    本篇内容介绍了“vue3中的reactive()怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!调试版本为3.2.45什么是react...
    99+
    2023-07-04
  • Vue3中的readonly怎么使用
    在Vue3中,可以通过readonly函数将一个对象转化为只读的,使其属性成为只读的,无法被修改。使用方法如下: import { ...
    99+
    2024-03-08
    Vue3
  • Vue3中的TypeScript怎么使用
    这篇文章主要介绍“Vue3中的TypeScript怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3中的TypeScript怎么使用”文章能帮助大家解决问题。如何声明字段名为枚举的类型?...
    99+
    2023-06-05
  • vue3中的$refs怎么使用
    这篇文章主要介绍“vue3中的$refs怎么使用”,在日常操作中,相信很多人在vue3中的$refs怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3中的$refs怎么使用”的疑惑有所帮助!接下来...
    99+
    2023-06-29
  • vue3中的createApp怎么使用
    函数定义createApp函数定义在文件 packages/runtime-dom/src/index.ts中export const createApp = ((...args) => { const app = ensureR...
    99+
    2023-05-23
    Vue3 createapp
  • Vue中使用Teleport的方法示例
    目录正文Teleport 在 Vue 中的使用禁用 Teleport 标签正文 通常,当我们在 Vue 中创建组件时,它们出现在我们期望的 DOM 结构中。但是,有时我们并不希望如此...
    99+
    2022-11-13
    Vue使用Teleport Vue Teleport
  • 怎么使用vue3中的axios
    这篇文章主要讲解了“怎么使用vue3中的axios”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用vue3中的axios”吧!使用 axios 之前,需要先安装好。yarn ...
    99+
    2023-06-25
  • Spring中的@Scheduled功能怎么使用
    这篇文章主要介绍“Spring中的@Scheduled功能怎么使用”,在日常操作中,相信很多人在Spring中的@Scheduled功能怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring中的@...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作