<router-view v-slot="{ Component }"><transition name="fade" mode="out-in" appear><keep-alive><component :is="Component" /></keep-alive></transition>
</router-view>/* 路由切换动画 */
/* fade-transform */
.fade-leave-active,
.fade-enter-active {transition: all 0.5s;
}/* 可能为enter失效,拆分为 enter-from和enter-to */
.fade-enter-from { opacity: 0;transform: translateY(-30px);
}
.fade-enter-to { opacity: 1;transform: translateY(0px);
}.fade-leave-to {opacity: 0;transform: translateY(30px);
}
transition 标签元素有一个mode属性,用于设置动画过渡效果。默认是同时进行元素的进入和离开。元素绝对定位position: absolute;不会有错位问题。
in-out,新元素先进行过渡进入,完成之后当前元素过渡离开。
out-in,当前元素先过渡离开,完成之后新元素过渡进入。在transition标签还有一个appear属性
是否对初始渲染使用过渡。 * 默认:false