起因

不知道为什么,使用下面这段代码(elementui 但跟这个问题没有关联)

<transition name="el-fade-in">
        <router-view/>
</transition>

会发现,页面在切换时 新页面会在下方出现,然后闪现到上面.

排查

仔细看会发现,新的页面进入(淡入)与旧页面的退出(淡出)是同时进行的,而旧页面动画播放完成后会自动消失,导致新页面闪现到上方

解决

没错,就这么简单
加一个 mode=“out-in” 给先后顺序即可
上代码!

<transition name="el-fade-in" mode="out-in">
        <router-view/>
</transition>

简单粗暴且有效!