vue3使用transition组件,实现过度动画

注意:如果你项目中使用了缓存组件keep-alive,你需要将keep-alive组件一起被transition组件包裹

网址:Transition | Vue.js (vuejs.org)

可以给 <Transition> 组件传一个 name prop 来声明一个过渡效果名:

我这里起的名是fade

类名介绍

  1. v-enter-from:进入动画的起始状态。在元素插入之前添加,在元素插入完成后的下一帧移除。

  2. v-enter-to:进入动画的结束状态。在元素插入完成后的下一帧被添加 (也就是 v-enter-from 被移除的同时),在过渡或动画完成之后移除。

  3. v-leave-to:离开动画的结束状态。在一个离开动画被触发后的下一帧被添加 (也就是 v-leave-from 被移除的同时),在过渡或动画完成之后移除。

  4. v-leave-from:离开动画的起始状态。在离开过渡效果被触发时立即添加,在一帧后被移除。

  5. v-enter-active:进入动画的生效状态。应用于整个进入动画阶段。在元素被插入之前添加,在过渡或动画完成之后移除。这个 class 可以被用来定义进入动画的持续时间、延迟与速度曲线类型。

  6. v-leave-active:离开动画的生效状态。应用于整个离开动画阶段。在离开过渡效果被触发时立即添加,在过渡或动画完成之后移除。这个 class 可以被用来定义离开动画的持续时间、延迟与速度曲线类型。

使用方式:(name属性起的名起作用了)

复制代码
.fade-enter-from,
.fade-leave-to {
    opacity: 0;
}

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

.fade-enter-active,
.fade-leave-active {
    transition: all 0.3s;
}

.fade-enter-active {
    transition-delay: 0.3s;
}

动画效果:从透明变成不透明,然后再从不透明变成透明,每次切换页面就能触发动画效果。

相关推荐
iFlow_AI1 小时前
知识驱动开发:用iFlow工作流构建本地知识库
前端·ai·rag·mcp·iflow·iflow cli·iflowcli
wordbaby1 小时前
TanStack Router 文件命名约定
前端
LFly_ice2 小时前
Next-1-启动!
开发语言·前端·javascript
仰望.2 小时前
vue 甘特图 vxe-gantt table 依赖线的使用,配置连接线
vue.js·甘特图
小时前端2 小时前
谁说 AI 历史会话必须存后端?IndexedDB方案完美翻盘
前端·agent·indexeddb
wordbaby2 小时前
TanStack Router 基于文件的路由
前端
wordbaby2 小时前
TanStack Router 路由概念
前端
wordbaby2 小时前
TanStack Router 路由匹配
前端
cc蒲公英2 小时前
vue nextTick和setTimeout区别
前端·javascript·vue.js