前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >(二十六)路由过度动画

(二十六)路由过度动画

作者头像
老怪兽
发布2023-02-22 18:47:32
发布2023-02-22 18:47:32
39300
代码可运行
举报
运行总次数:0
代码可运行
路由过度动画
一、复习 dom 组件的动画
  • 给多个元素添加动画
  • 自动应用这些样式
二、vue-router 实现动画过渡
  • 路由跳转实现渐隐渐显的效果
代码语言:javascript
代码运行次数:0
复制
// 使用封装的 router-link 来做
<template>
  <router-view v-slot="{ Component }">
    <transition name="fade" mode="out-in">
      <component :is="Component" />
    </transition>
  </router-view>

  {/* v-slot 还接受第二个参数 router */}
  <router-view v-slot="{ Component, route }">
    <transition :name="route.meta.transition || 'fade'" mode="out-in">
      <component :is="Component" />

      <!-- 对于 /1,/2类似的跳转,组件会进行复用,过渡不会执行。添加 key 可以强制执行过渡 -->
      <!-- <component :is="Component" :key="route.path" /> -->
    </transition>
  </router-view>
</template>
<script></script>
  • 不同组件设置不容的过度动画,通过 meta 来设置
代码语言:javascript
代码运行次数:0
复制
const routes = [
  {
    path: "/",
    component: BlogListPage,
    meta: {
      transition: "fade",
    },
  },
  {
    path: "/:postId",
    component: BlogPostPage,
    meta: {
      transition: "fadeAndMove",
    },
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年11月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 路由过度动画
  • 一、复习 dom 组件的动画
  • 二、vue-router 实现动画过渡
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档