vue 过渡效果中 leave 钩子函数没有过渡效果

在vue 过渡中,仅用JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则after-enter和 after-leave不会调用,并且enter 和 leave将被同步调用,过渡会立即完成。

但在 leave中使用done回调时,
离开状态也会立即执行,即使不调用done()函数,leave参数done必须传,不传也会立即删除元素导致动画不执行,但不调用done函数, after-leave又不能执行,导致元素样式display属性不为none,消失不了

这跟官网有点出入,不知道什么原因造成的

总结了两种解决办法:

<template>
  <div class="test">
    <transition
     :css='false'
      name="Carousel"

      @before-enter=" beforeEnter"
      @enter="enter"
      @after-enter="afterEnter"
      @before-leave="beforeLeave"
      
      @after-leave="afterLeave"
      @leave="leave"
    >
      <div class="s" @click="handleClick" v-show ="isShow" ref="s" ></div>
    </transition>

    <button @click="handleClick">切换</button>
  </div>
</template>
<script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
过渡效果的CSS类是在Vue过渡组件使用的类,用于实现动画过渡效果。下面是一些常用的过渡效果CSS类: 1. `v-enter`: 过渡开始时的初始状态。通常在过渡开始之前添加此类,用于定义元素的初始状态。 2. `v-enter-active`: 过渡期间的活动状态。通常与`v-enter`同时添加,用于定义元素在过渡期间的样式变化。 3. `v-enter-to`: 过渡结束时的最终状态。通常与`v-enter`和`v-enter-active`同时添加,用于定义元素过渡结束后的最终样式。 4. `v-leave`: 离开过渡开始时的初始状态。通常在元素离开过渡之前添加此类,用于定义元素的初始状态。 5. `v-leave-active`: 离开过渡期间的活动状态。通常与`v-leave`同时添加,用于定义元素在离开过渡期间的样式变化。 6. `v-leave-to`: 离开过渡结束时的最终状态。通常与`v-leave`和`v-leave-active`同时添加,用于定义元素离开过渡结束后的最终样式。 这些类可以通过CSS样式来定义元素的过渡效果。例如,可以使用CSS的`transition`属性来定义过渡的持续时间、过渡属性和缓动函数。可以使用`transform`属性来实现元素的位移、旋转或缩放效果。还可以使用`opacity`属性来实现元素的渐变显示或隐藏效果。 同时,Vue还提供了一些过渡相关的钩子函数,可以在过渡过程执行自定义的JavaScript代码。这些钩子函数包括`before-enter`、`enter`、`after-enter`、`before-leave`、`leave`和`after-leave`等。 通过结合CSS类和钩子函数,可以实现各种各样的过渡效果,如淡入淡出、滑动、放大缩小等。可以根据具体的需求来定义和调整过渡效果的细节。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值