Vue控制组件内的离开动画?

我有一个父级组件A,然后子组件B,C,B,C切换显示,请问怎么切换时出发组件内部对应的动画,目前的组件是这样的
a.vue

<B v-if="showB"/>
<C v-else/>

直接改变showB就会导致组件B整个被销毁,来不及看到离场动画

组件有多个离场动画

阅读 2.3k
2 个回答

<Transition>包裹就可以

//template
<Transition>
    <B v-if="showB"/>
    <C v-else/>
</Transition>
//css
.v-enter-active,
.v-leave-active {
    transition: opacity 0.5s ease;
}

.v-enter-from,
.v-leave-to {
    opacity: 0;
}

screenshots.gif

如果你有多个动画,也可以用这个来做,可以参考Vue文档中的动画序列部分

可以通过mode="out-in"来控制两个组件的动画时机
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏