一、动画原理

image.png

二、过渡类名

在进入/离开的过渡中,会有 6 个 class 切换。

  1. v-enter: 表示从隐藏到显示
  2. v-enter-active: 监听动画
  3. v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。
  4. v-leave: 从显示到隐藏
  5. v-leave-active:监听动画
  6. v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

    三、示例 点击隐藏 点击显示

  1. <template>
  2. <div class="home">
  3. <transition>
  4. <p v-if="isShow">hello world</p>
  5. </transition>
  6. <button @click="handleClick">toggle</button>
  7. </div>
  8. </template>
  1. <script>
  2. export default {
  3. name: 'home',
  4. data(){
  5. return {
  6. isShow:true
  7. }
  8. },
  9. methods:{
  10. handleClick(){
  11. this.isShow = !this.isShow;
  12. }
  13. }
  14. }
  15. </script>
  16. <style scoped>
  17. .v-leave{
  18. opacity: 1;
  19. }
  20. .v-leave-active,.v-enter-active{
  21. transition: opacity 4s;
  22. }
  23. .v-leave-to{
  24. opacity: 0;
  25. }
  26. .v-enter{
  27. opacity: 0;
  28. }
  29. </style>