Vue.js 组件即使使用 mode="out-in" 也不会转换出来

问题描述 投票:0回答:0

我对 vue.js 比较陌生,一直在尝试让我的路由页面在用户切换到新页面时淡入和淡出。我以为用 vue 会很简单,但我一直在为此抓狂。我发现的所有资源都表明,像我一样,通过以下方式实现这一点是最简单的:

应用程序.vue:

...
<template>
  <head>
    ...
  </head>
  
    <header>
      <nav>
        <RouterLink to="/">Home</RouterLink>
        <RouterLink to="/committees">Committees</RouterLink>
      </nav>
    </header>
    
  <Transition name="fade" mode="out-in"><RouterView/></Transition>
      
</template>


<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity .5s ease-in-out;
}

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

...

</style>

这适用于淡入新组件,但旧组件不会淡出。页面立即变成空白,然后新组件淡入。我已经尝试了 css 和 html 的每种变体,但没有任何效果。 RouterView 是否实际上永远不会淡出,因为组件只是切换,因此 .fade-leave-to 永远不会被触发?如果这样的话,我如何才能达到淡出的最终目的呢?如果没有,呃...请帮忙!

css vue.js vuejs3 vue-router vue-transitions
© www.soinside.com 2019 - 2024. All rights reserved.