最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 【VUE】过渡效果transition原理分析

    正文概述 掘金(不是Null)   2021-08-23   636

    这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战

    概述

    Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。包括以下工具:

    • 在 CSS 过渡和动画中自动应用 class
    • 可以配合使用第三方 CSS 动画库,如 Animate.css
    • 在过渡钩子函数中使用 JavaScript 直接操作 DOM
    • 可以配合使用第三方 JavaScript 动画库,如 Velocity.js

    简单而言就是,你可以使用vue的<transition></transition>组件,结合css的动画 animation,过渡transition,或者javascript操作dom来让你的元素或者组件动起来。在这里,我们只会讲到进入、离开和列表的过渡。

    过渡动画原理

    Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡。

    • 条件渲染 (使用 v-if)
    • 条件展示 (使用 v-show)
    • 动态组件
    • 组件根节点

    场景需求

    使用按钮来控制子组件的展示与否;展示与隐藏实现渐隐渐现(动画)的效果;

    // css设置过渡效果
    <style type="text/css">
            .fade-enter,
            .fade-leave-to {
                    opacity: 0;
            }
            .fade-enter-active,
            .fade-leave-active {
                    transition: opacity 3s;
            }
    </style>
    <div id="app">
            <button type="button" @click="handleToggle">切换显示/隐藏</button>
            <transition  name="fade">
                    <child v-if="show"></child>
            </transition>
    </div>
    Vue.component('child', {
            template: `<div>显示或隐藏的内容</div>`
    })
    var vm = new Vue({
            el: '#app',
            data() {
                    return {
                            show: true
                    }
            },
            methods: {
                    handleToggle: function() {
                            this.show = !this.show // 控制组件的显隐效果
                    }
            }
    })
    

    原理解析

    • <transition></transition> 可以包裹的需要有一个动画效果的内容。

    • 在进入的过渡中,会有 3 个 class 的切换:

    【VUE】过渡效果transition原理分析

    1. fade-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

    2. fade-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

    3. fade-enter-to2.1.8 版及以上定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 fade-enter 被移除),在过渡/动画完成之后移除。

    • 在离开的过渡中,也会有 3 个 class 的切换:

    【VUE】过渡效果transition原理分析

    1. fade-leave:定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
    2. fade-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
    3. fade-leave-to2.1.8 版及以上定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 fade-leave 被删除),在过渡/动画完成之后移除。

    起源地下载网 » 【VUE】过渡效果transition原理分析

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元