vue3学习——router-view 过渡动画

虽然vue3说建vue页面不用包裹一个根节点,但是transition不能没有唯一的标签
所以还是得包一层~ o( ̄▽ ̄)o
	<el-main>
        <router-view v-slot="{ Component, route }">
          <transition name="MainFade" mode="out-in">
            <component :is="Component" :key="route.path" />
          </transition>
        </router-view>
      </el-main>
      
  .el-main {
    /* 渐变设置 */
    .MainFade-enter-from,
    .MainFade-leave-to {
      transform: translateX(20px);
      opacity: 0;
    }
    .MainFade-enter-to,
    .MainFade-leave-from {
      opacity: 1;
    }
    .MainFade-enter-active {
      transition: all 0.7s ease;
    }
    .MainFade-leave-active {
      transition: all 0.3s cubic-bezier(1, 0.6, 0.6, 1);
    }
  }

例如:
home.vue

<script setup lang="ts"></script>

<template>
  <div>home</div> // 根元素,包层div
</template>

<style scoped></style>

你可能感兴趣的:(vue3,学习,前端,vue3)