vue 脚手架项目中-路由动画

简介: 实际还是脚手架项目用的多脚手架里面的 转场动画 路由动画简单写几个这里既然使用脚手架了, 创建项目的时候就不要默认了自己定义 选择 vue 依赖 vuex router css,eslint相关会自动生成一些目录和基础文件 比较方便

1. 前言


实际还是脚手架项目用的多

脚手架里面的 转场动画 路由动画简单写几个

这里既然使用脚手架了, 创建项目的时候就不要默认了

自己定义 选择 vue 依赖 vuexroutercss,eslint相关

会自动生成一些目录和基础文件 比较方便


2.常见渐变过渡 准备


渐变页面过渡应该是最直接的一种动效。

可以通过修改元素的透明度来实现

总共有 3 种过渡模式:

1.default:淡入和淡出过渡同时发生

2.in-out:新元素首先淡入。然后当前元素淡出。

3.out-in:当前元素先淡出。然后新元素开始淡入。

为提供了几个 CSS 类,它们能够在动画周期中被动态添加或删除。

v-enter-from / v-leave-from: 过渡的初始状态,过度开始后将其删除

v-enter-active / v-leave-active: 过渡的激活状态

v-enter-to / v-leave-to: 过渡的结束状态


3. 第一种 渐变透明


O)B_(}JC9[94ZF7@E$MZA79.png

样式


.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s ease;
}
.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

直接脚手架 App.vue玩吧


<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link>
    </div>
    <transition name="fade" mode="out-in">
         <router-view />
    </transition>
  </div>
</template>



4. 右侧离场,左侧入场 动画


组件准备个样式 背景选择自己喜欢的


.wrapper {
  width: 100%;
  min-height: 50vh;
  background-color: greenyellow;
}

使用动画


<transition name="slide-right">
      <router-view />
    </transition>

动画样式


.slide-right-leave {
  transform: translate(0, 0);
}
.slide-right-leave-active,
.slide-right-enter-active {
  transition: all 0.7s;
  position: absolute;
}
.slide-right-leave-to {
  transform: translate(100%, 0);
}
.slide-right-enter {
  transform: translate(-100%, 0);
}
.slide-right-enter-to {
  transform: translate(0, 0);
}



5.左侧离场,右侧入场 动画


UG8(1MC}X{YT~M$60KQ5D6D.png

组件加个背景色 效果更佳


.wrapper {
  width: 100%;
  min-height: 50vh;
  background-color: orange;
}

路由


<transition name="slide-left">
      <router-view />
    </transition>

动画样式


.slide-left-leave {
  transform: translate(0, 0);
}
.slide-left-leave-active,
.slide-left-enter-active {
  transition: all 0.7s;
  /* 为了保证组件切换动画时,两个组件重叠显示,在动画持续时间将做动画的组件根元素设置为绝对行为 */
  position: absolute;
}
.slide-left-leave-to {
  transform: translate(-100%, 0);
}
.slide-left-enter {
  transform: translate(100%, 0);
}
.slide-left-enter-to {
  transform: translate(0, 0);
}



6. 缩放动画


FNB`@`M]GP]~KC3$6Q16D03.png

注意这个 mode


<transition name="scale"  mode="out-in">
      <router-view />
    </transition>

动画


.scale-enter-active,
.scale-leave-active {
  transition: all 0.5s ease;
}
.scale-enter-from,
.scale-leave-to {
  opacity: 0;
  transform: scale(0.9);
}



7.组合过渡


过渡+缩放


<transition name="scale-slide">
      <router-view />
    </transition>

动画样式


.scale-slide-leave {
  transform: translate(0, 0);
}
.scale-slide-enter-active,
.scale-slide-leave-active {
  position: absolute;
  transition: all 1s ease;
}
.scale-slide-enter {
  transform: translate(-100%, 0) scale(0.1);
}
.scale-slide-enter-to {
  transform: translate(0, 0) scale(1);
}
.scale-slide-enter-from,
.scale-slide-leave-to {
  opacity: 0;
  transform: translate(100%, 0) scale(0.1);
}

[}JKQC23B3UNO1TCI_$Z{DJ.png


8. 后续


抛砖引玉

更多动画等你探究 玩起来

应该考虑 放入个动画 能看到特性




相关文章
|
2月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
292 2
|
1月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
276 137
|
4月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
257 0
|
JavaScript Java 物联网
现有vue项目seo优化
现有vue项目seo优化
|
JavaScript 前端开发
重读vue电商网站45之项目优化上线
重读vue电商网站45之项目优化上线
201 0
重读vue电商网站45之项目优化上线
|
5月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
761 0
|
7月前
|
JavaScript
vue实现任务周期cron表达式选择组件
vue实现任务周期cron表达式选择组件
998 4
|
5月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
6月前
|
JavaScript 数据可视化 前端开发
基于 Vue 与 D3 的可拖拽拓扑图技术方案及应用案例解析
本文介绍了基于Vue和D3实现可拖拽拓扑图的技术方案与应用实例。通过Vue构建用户界面和交互逻辑,结合D3强大的数据可视化能力,实现了力导向布局、节点拖拽、交互事件等功能。文章详细讲解了数据模型设计、拖拽功能实现、组件封装及高级扩展(如节点类型定制、连接样式优化等),并提供了性能优化方案以应对大数据量场景。最终,展示了基础网络拓扑、实时更新拓扑等应用实例,为开发者提供了一套完整的实现思路和实践经验。
819 77
|
4月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
402 1