Vue.js 的 transition 组件用于实现过渡动画。它可以给任何元素和组件添加进入/离开过渡。
使用 transition 组件的主要步骤:
1、 设置要过渡的元素。可以是 transition 包裹的元素,也可以是动态组件。
html
<!-- 包裹元素 -->
<transition>
<div v-if="show">Hello</div>
</transition>
<!-- 动态组件 -->
<transition name="fade" mode="out-in">
<component :is="componentName"></component>
</transition>
2、 设置过渡的类名,Vue.js 会自动添加相关的过渡效果。
- .v-enter:进入过渡的开始状态
- .v-enter-active:进入过渡生效状态
- .v-enter-to:进入过渡的结束状态
- .v-leave:离开过渡的开始状态
- .v-leave-active:离开过渡生效状态
- .v-leave-to:离开过渡的结束状态
我们可以为这些状态绑定 CSS 样式实现动画:
css
.fade-enter-active, .fade-leave-active {
transition: opacity .5s
}
.fade-enter, .fade-leave-to {
opacity: 0
}
3、 设置 Transition 的 mode:
- in-out:新元素先进行过渡,完成之后当前元素过渡离开。
- out-in:当前元素先进行过渡,完成之后新元素过渡进入。
4、 监听 transition 事件:
- before-enter
- enter
- after-enter
- enter-cancelled
- before-leave
- leave
- after-leave
- leave-cancelled
可以在事件中执行 JavaScript 代码:
html
<transition
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-on:after-enter="afterEnter"
>
</transition>
以上就是 Vue.js transition 组件实现过渡动画的主要步骤和注意事项。熟练掌握它可以为我们的 Vue 应用添加更好的视觉体验和交互。