Vue 提供了 <transition> 过渡组件。
当元素用 <transition> 包裹后,以下场景会触发动画效果:
- 条件渲染
v-if - 条件展示
v-show - 动态组件
- 组件根节点
当插入或删除包含在 transition 组件中的元素时,Vue 将会做以下处理:
自动嗅探目标元素是否应用了
CSS过渡或动画,如果是,在恰当的时机添加/删除CSS类名。如果过渡组件提供了
JavaScript钩子函数,这些钩子函数将在恰当的时机被调用。如果没有找到
JavaScript钩子并且也没有检测到CSS过渡/动画,DOM操作 (插入/删除) 在下一帧中立即执行。(注意:此指浏览器逐帧动画机制,和Vue的nextTicxk概念不同)