vue-router过渡动画,只有离开动画,没有进入动画?

    <template>
        <transition name="slide-left">
            <router-view></router-view>
        </transition>
    </template>
    <style>
    .slide-left-enter-active, .slide-left-leave-active {
        transition: transform .5s;
        transform-origin: left;
    }
    .slide-left-enter, .slide-left-leave-active {
        transform: scale(0,1);
    }
    </style>

路由改变时,页面从右到左消失,然后新页面直接跳出来,没有过渡效果

阅读 13.6k
3 个回答

我发现可以了。 你仔细看下 元素 它掉下去了,只要 position:absolute 定位上来就可以了

事实上不需要加position:absolute,这样可能会打乱原有布局。
只需要在transition标签里可以设置mode="out-in",具体看这里
https://cn.vuejs.org/v2/guide/transitions.html#过渡模式

在进入的class加上delay就好了

.slide-left-enter-active {
    transition-delay: 0.5s;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题