vue2.0关于transition过渡&动画的学习困惑记录

官网原文说明的可以添加<transition>的情况:

在下列情形中,可以给任何元素和组件添加进入/离开过渡

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

 这里用v-show+opacity说明

v-show接收一个布尔值,表示为 不显示(false) 或 显示(true):

 不显示(false) 到 显示(true)的过程:就是进入过渡的阶段。它有三个状态(生命周期):

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

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

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

我的理解:

v-enter:过渡执行之前的样子    opacity: 0;隐藏

v-enter-active:执行过渡的变化过程  隐藏0 --> 显示1 设置过渡时间曲线等

v-enter-to:过渡执行结束后的样子    opacity: 1;显示

 

从 显示(true) 到 不显示(false) 的过程:就是离开过渡的阶段。它有三个状态(生命周期):

v-leave:定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

v-leave-to2.1.8 版及以上定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

我的理解:

v-leave:过渡执行之前的样子    opacity: 1;显示

v-leave-active:执行过渡的变化过程    显示1 --> 隐藏0  设置过渡时间曲线等

v-leave-to:过渡执行结束后的样子  opacity: 0;隐藏

 

事实上,transition的JavaScript钩子名称我觉得更清晰

<transition

    v-on:before-enter="beforeEnter"

    v-on:enter="enter"

    v-on:after-enter="afterEnter"

    v-on:before-leave="beforeLeave"

    v-on:leave="leave"

    v-on:after-leave="afterLeave"

>  </transition>

 

ps:Vue3.0已经把v-enter,v-leave改为v-enter-from,v-leave-from

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值