vue中路由过渡的问题?

vue里面给路由添加过场动画淡入淡出效果, 组件在移除时是淡出的,但是在进入时是瞬间进入的,并没有淡入,这两步之间,页面会变空白。下面是我的代码,就是从官网抄的:

<template>
  <div id="app">
    <transition name="fade">
      <router-view></router-view>
    </transition>
  </div>
</template>
.fade-enter-active, .fade-leave-active {
  transition: opacity .3s
}
.fade-enter, .fade-leave-active {
  opacity: 0
}


请问要怎么做才可以在当前组件淡出的同时,将要被插入的组件能淡入。
阅读 4.3k
3 个回答

设置mode为out-in

.fade-enter-active, .fade-leave-active {
  opacity: 1;
  transition: opacity .3s
}
.fade-enter, .fade-leave-active {
  opacity: 0
}

或:

.fade-enter-active, .fade-leave-active {
  opacity: 1;
  transition: opacity .3s
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

.fade-enter-active, .fade-leave-active {
opacity: 1;
transition: opacity .3s
}
.fade-enter, .fade-leave {
opacity: 0
}

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