码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • VUE3 之 Teleport - 这个系列的教程通俗易懂,适合新手


    1. 概述

    老话说的好:宰相肚里能撑船,但凡成功的人,都有一种博大的胸怀。

     

    言归正传,今天我们来聊聊 VUE 中 Teleport 的使用。

     

    2. Teleport

    2.1 遮罩效果的实现 

    复制代码
        <style>
           .area {
                position: absolute;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
                width: 200px;
                height: 300px;
                background: rgb(16, 209, 48);
                
           }
           .mask {
               position: absolute;
               left: 0;
               right: 0;
               top: 0;
               bottom: 0;
               background: #000;
               opacity: 50%;
           }
        </style>
    复制代码

     

    <body>
        <div id="myDiv"></div>
    </body>

     

    复制代码
        const app = Vue.createApp({
           data() {
                return {
                    show : false
                }
           },
           methods: {
                handleClick(){
                    this.show = !this.show;
                }
           },
           template:`
               <div class="area">
                   <button @click="handleClick">按钮</button>
                    <div class="mask" v-show="show"></div>
               </div>
           `
       });
    复制代码

     

       const vm = app.mount("#myDiv");

     

     

     这个例子,我们实现了一个简单的遮罩效果,但这个遮罩效果并没有遮罩整个背景,只是遮罩了 area 这个div。

     

    2.2 Teleport 的使用

    复制代码
        const app = Vue.createApp({
           data() {
                return {
                    show : false
                }
           },
           methods: {
                handleClick(){
                    this.show = !this.show;
                }
           },
           template:`
               <div class="area">
                   <button @click="handleClick">按钮</button>
                   <teleport to="body" >
                        <div class="mask" v-show="show"></div>
                   </teleport>
               </div>
           `
       });
    复制代码

     

     这个例子中,我们改进了一下,使用 <teleport to="body" > 将遮罩的 div 转移到了 body 元素下,因此遮罩范围扩大到了整个 body 的区域。

     

    2.3 Teleport 通过 元素id 转移元素到指定元素下

    <body>
        <div id="myDiv"></div>
        <div id="maskDiv"></div>
    </body>

     

    复制代码
       const app = Vue.createApp({
           data() {
                return {
                    show : false
                }
           },
           methods: {
                handleClick(){
                    this.show = !this.show;
                }
           },
           template:`
               <div class="area">
                   <button @click="handleClick">按钮</button>
                   <teleport to="#maskDiv" >
                        <div class="mask" v-show="show"></div>
                   </teleport>
               </div>
           `
       });
    复制代码

    这个例子中,通过 <teleport to="#maskDiv" > 的写法,将 遮罩div 转移到了 id 是 maskDiv 的元素下。 

     

    3. 综述

    今天聊了一下 VUE 中 Teleport 的使用,希望可以对大家的工作有所帮助,下一节我们继续讲 Vue 中的高级语法,敬请期待

    欢迎帮忙点赞、评论、转发、加关注 :)

    关注追风人聊Java,这里干货满满,都是实战类技术文章,通俗易懂,轻松上手。

     

    4. 个人公众号

    追风人聊Java,欢迎大家关注

  • 相关阅读:
    麒麟信安操作系统衍生产品解决方案 | 录屏审计软件,让用户桌面操作行为更合规!
    Request processing failed: com.microsoft.playwright.PlaywrightException: Error
    【matplotlib 实战】--饼图
    v0.9.6 开源跨平台个人知识管理工具 TidGi-Desktop
    使用asyncua模块的call_method方法调用OPC UA的Server端方法报错:asyncio.exceptions.TimeoutError
    KVB交易平台:苹果股价大涨超7%,iPhone超级周期来临?
    阿里数学竞赛最年轻金奖得主:15岁读少年班,21岁UC伯克利读博,想毕业就回国...
    Cy3-PEG-DBCO,Cy3-聚乙二醇-二苯基环辛炔,DBCO/mal/dope/n3-PEG-Cy3
    Linux 创建文件
    30天Python入门(第二十三天:深入了解Python中的虚拟环境)
  • 原文地址:https://www.cnblogs.com/w84422/p/16246032.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号