• VUE3 之 多个元素之间的过渡 - 这个系列的教程通俗易懂,适合新手


    1. 概述

    老话说的好:过去不等于未来,过去成功了不代表将来也会成功,过去失败了也不代表将来也会失败。

     

    言归正传,今天我们聊聊多个元素之间的过渡。

     

    2. 多个元素之间的过渡

    2.1 两个元素交替显示

    复制代码
    <body>
        <div id="myDiv"></div>
    </body>
    <script>
        const app = Vue.createApp({
            data(){
                return {
                    show : false
                }
            },
            methods : {
                myClick() {
                    this.show = !this.show;
                }
            },
            template:`
                <div class="center">
                    <transition>
                        <div v-if="show"><h3>on</h3></div>
                        <div v-else="show"><h3>off</h3></div>
                    </transition>
                    <button @click="myClick">切换</button>
                </div>
            `
        });
    
        const vm = app.mount("#myDiv");
    复制代码

     

     

     

     这个例子中,点击切换按钮,两个 div 元素会交替显示,使用了我们之前学过的 v-if 和 v-else 的例子

     

    2.2 增加过渡效果

    复制代码
        <style>
           /* 入场起始样式 */
           .v-enter-from {
                opacity: 0;
            }
            /* 入场过渡效果 */
            .v-enter-active {
                transition: 2s opacity ease-in; 
            }
            /* 入场结束样式 */
            .v-enter-to {
                opacity: 1;
            }
    
            /* 出场起始样式 */
            .v-leave-from {
                opacity: 1;
            }
            /* 出场过渡效果 */
            .v-leave-active {
                transition: 2s opacity ease-in; 
            }
            /* 出场结束样式 */
            .v-leave-to {
                opacity: 0;
            }
        </style>
    复制代码

     

     

     

     我们根据之前的知识增加入场、出场的过渡效果,但效果并不太好,两个元素是同时渲染过渡效果的

     

    2.3 增加模式

    复制代码
            template:`
                <div class="center">
                    <transition mode="out-in">
                        <div v-if="show"><h3>on</h3></div>
                        <div v-else="show"><h3>off</h3></div>
                    </transition>
                    <button @click="myClick">切换</button>
                </div>
            `
    复制代码

     

     

     

     我们增加了 mode="out-in" 后,效果好多了,出场元素会先渲染,然后入场元素才渲染

     

    2.4 点刷新,元素也有过渡效果

    复制代码
            template:`
                <div class="center">
                    <transition mode="out-in" appear>
                        <div v-if="show"><h3>on</h3></div>
                        <div v-else="show"><h3>off</h3></div>
                    </transition>
                    <button @click="myClick">切换</button>
                </div>
            `
    复制代码

     

    我们在 transition 标签上增加了 appear 属性,此时点击刷新,也有过渡效果 

     

    3. 综述

    今天聊了一下 VUE3 中多个元素之间的过渡,希望可以对大家的工作有所帮助,下一节我们继续讲 Vue 中 动画 的相关知识,敬请期待

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

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

     

    4. 个人公众号

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

  • 相关阅读:
    JavaWeb_LeadNews_Day10-Xxljob, Redis实现定时热文章
    Python基础_模块操作
    网络安全(黑客)自学
    ThingBoard源码解析-缓存
    Android中 Applicaton Context,Service context, Activity context 的区别。
    《uni-app》表单组件-Picker组件
    kube-apiserver 安装路由汇总
    基于Python深度学习的文字检测识别系统
    pgzrun 拼图游戏制作过程详解(8,9)
    Pr:添加字幕轨道
  • 原文地址:https://www.cnblogs.com/w84422/p/15998289.html