iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue过渡效果使用的技巧有哪些
  • 501
分享到

vue过渡效果使用的技巧有哪些

2023-07-04 14:07:12 501人浏览 安东尼
摘要

本篇内容介绍了“Vue过渡效果使用的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!概念在进入/离开的过渡中, 会有6个class的

本篇内容介绍了“Vue过渡效果使用的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

概念

在进入/离开的过渡中, 会有6个class的切换

  • v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

  • v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

  • v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。

  • v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

  • v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

  • v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

enter 定义开始的状态, active定义过程, enter定义结束, 但是在实际进行的时候是有交叉的。 通过断点可以发现,

  • 添加v-enter

  • 添加v-enter-active,

  • 卸载v-enter

  • 添加v-ernter-to

  • 卸载v-enter-to和v-enter-active

// transition: all 2s;  .move-enter {  margin-left: 0; } .move-enter-active {  margin-left: 100px; } .move-enter-to {  margin-left: 200px; }

例如在上面这种情况下, 过渡动画会怎么进行呢?

vue过渡效果使用的技巧有哪些

这里要注意两点。

  1. enter-active覆盖掉了enter的起点位置

  2. 一共经过了两次过渡, enter-to是在active结束之后开始的, 所以第四秒, 才回到dom元素本身的位置。

所以官方文档之, 也是使用v-enter定义起点位置, 在enter-active中控制效果。

利用class实现过渡效果

在这6个class之上, 利用transition或者动画, 都可以实现我们需要的效果。 举个栗子, 这里我们直接将所有的路由改变都定义一个过渡效果,

appear属性表示页面初次加载的时候也适用于动画

 <transition appear name="move">  <router-view></router-view> </transition>
@keyframes animationIn { 0% { transfORM: translate(-100%, 0); } 100% { transform: translate(0, 0); }}@keyframes animationOut { 0% { transform: translate(0, 0); } 100% { transform: translate(100%, 0); }}.move-enter { transform: translate(-100%, 0); position: absolute!important; z-index: 999; top: 0; left: 0; width: 100%;}.move-enter-active { animation: animationIn 0.2s; position: absolute!important; // 进入的组件要覆盖掉移除的组件,参考 //https://cn.vuejs.org/v2/guide/transitions.html#%E8%BF%87%E6%B8%A1%E6%A8%A1%E5%BC%8F z-index: 999; top: 0; left: 0; width: 100%;}.move-leave { transform: translate(0, 0);}.move-leave-active { animation: animationOut 0.2s;}

JavaScript 钩子

这些钩子函数可以结合 CSS transitions/animations 使用

<transition v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter="afterEnter" v-on:enter-cancelled="enterCancelled" v-on:before-leave="beforeLeave" v-on:leave="leave" v-on:after-leave="afterLeave" v-on:leave-cancelled="leaveCancelled"> <!-- ... --></transition>

在这些钩子中, 可以使用其他第三方库,回调中的el将是真实的dom元素 举个栗子, 这里使用了官方推荐的Velocity.js作为动画库

 <div class="main">  <transition name="showRect" appear     @before-enter="handleBeforeEnter"     @enter="handleEnter"     @after-enter="handleAfterEnter"     @before-leave="handleBeforeLeave"     @leave="handleLeave"     @after-leave="handleAfterLeave"     :css="false">  <div class="box" v-if="show"></div>  </transition> </div> <button @click="start">切换</button>
 methods: {  start() {  this.show = !this.show  },  handleBeforeEnter: function (el) {  el.style.opacity = 0;  console.log('方块显示动画即将执行');  },  handleEnter: function (el, done) {  Velocity(el, 'stop');  Velocity(el, {   backgroundColor: '#0085eb',   opacity: 1,   translateX: 260,   rotateZ: ['360deg', 0]  }, {   duration: 1000,   easing: [ 0.4, 0.01, 0.165, 0.99 ],   complete: done  });  console.log('方块显示动画执行中...');  },  handleAfterEnter: function (el) {  console.log('方块显示动画结束');  },  handleBeforeLeave: function (el) {  console.log('方块隐藏动画即将执行');  },  handleLeave: function (el, done) {  Velocity(el, 'stop');  Velocity(el, {   backgroundColor: '#4dd0e1',   opacity: 0,   translateX: 0,   rotateZ: [0, '360deg']  }, {   duration: 1000,   easing: [ 0.4, 0.01, 0.165, 0.99 ],   complete: done  });  console.log('方块隐藏动画执行中...');  },  handleAfterLeave: function (el) {  console.log('方块隐藏动画结束');  } }

vue过渡效果使用的技巧有哪些

列表过渡

vue还提供了transition-group组件, 作为列表过渡的容器

不同于 ,它会以一个真实元素呈现:默认为一个 。你也可以通过 tag 特性更换为其他元素

transition-group 拥特别的v-move属性,它会在元素的改变定位的过程中应用, 效果可参见官网。

列表过渡中, 可以结合js钩子, 实现一些特殊的效果

举个栗子

<template> <div> <div class="btn" @click="addItem">添加</div> <div class="btn" @click="sort">排序</div> <div class="box">  <div class="item-bar">  <transition-group name="fade" tag="p" appear  v-on:before-enter="beforeEnter"  v-on:after-enter="afterEnter">  // 这里的data-index 是一个识别标识, 便于在js钩子中获得当前元素的序号   <div class="item" v-for="(i, index) in list" :key="i" :data-index="index">{{i}}</div>  </transition-group>  </div> </div> </div></template>
<script lang="ts"> import Vue from "vue"; export default Vue.extend({ name: "home", data() {  return {  show: true,  list: [5,4,3,2,1],  nextNum: 6  }; }, methods: {  showDom() {  this.show = !this.show  },  beforeEnter: function (el: any) {  el.style.opacity = 0 // 每个元素插入之前, 透明度为0  let index = el.dataset.index 每次可能插入多个元素,  // 页面加载时先展示5个  if (index < 5) {   //设置动画延迟, 实现按续插入的效果   el.style.animationDelay = el.dataset.index * 0.3 + 's'  }  },  afterEnter: function (el) {  el.style.opacity = 1  console.log('afterEnter')  },  addItem() {  this.list.push(this.nextNum++)  },  sort() {  this.list = this.list.sort((a, b) => a -b)  } } });</script>
 @keyframes animat { 0% {  margin-left: 300px;  opacity: 0; } 100% {  margin-left: 0;  opacity: 1; } } .fade-enter { opacity: 0; margin-left: 300px; } .fade-enter-active { opacity: 0; animation: animat 1s; } .fade-enter-to { opacity: 1; margin-left: 0; } .fade-move { transition: all 0.3s; } .fade-leave { left: 10px; } .fade-leave-active { transition: all 2s ease-out; } .fade-leave-to { left: -100%; }

“vue过渡效果使用的技巧有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: vue过渡效果使用的技巧有哪些

本文链接: https://www.lsjlt.com/news/345703.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue过渡效果使用的技巧有哪些
    本篇内容介绍了“vue过渡效果使用的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!概念在进入/离开的过渡中, 会有6个class的...
    99+
    2023-07-04
  • vue巧用过渡效果的示例分析
    这篇文章主要介绍vue巧用过渡效果的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue提供的了transition组件来实现组件的过渡和路由的过渡,合理使用这个组建可以让我...
    99+
    2024-04-02
  • Vue使用的技巧有哪些
    这篇文章主要介绍“Vue使用的技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue使用的技巧有哪些”文章能帮助大家解决问题。1、将一个 prop 限制在一个类型的列表中使用 prop 定义...
    99+
    2023-06-30
  • Vue的使用技巧有哪些
    本篇内容介绍了“Vue的使用技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 将一个 prop 限制在一个类型的列表中使用 pr...
    99+
    2023-06-29
  • Vue使用技巧有哪些
    小编给大家分享一下Vue使用技巧有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据不响应,可能是用法有问题前几天有朋友给我...
    99+
    2024-04-02
  • Vue有哪些使用技巧
    这篇文章主要介绍了Vue有哪些使用技巧,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 将 prop 限制为类型列表在 prop 定义中使用 validator 选项,你可...
    99+
    2023-06-25
  • Vue 动画效果、过渡效果的示例代码
    目录动画效果过渡效果单个元素多个元素Animate.css总结todolist 增加动画效果动画效果 新建 Test.vue <template> <div&...
    99+
    2024-04-02
  • 高效使用GitHub的技巧有哪些
    这篇“高效使用GitHub的技巧有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“高效使用GitHub的技巧有哪些”文章吧...
    99+
    2023-06-27
  • 10个必知的VUE Nuxt.js过渡效果
    ...
    99+
    2024-04-02
  • Vue.2.0.5过渡效果的实现方法
    小编给大家分享一下Vue.2.0.5过渡效果的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述Vue 在插入、更新或者...
    99+
    2024-04-02
  • 解锁VUE Nuxt.js过渡效果的秘密
    ...
    99+
    2024-04-02
  • vue有哪些实用技巧
    本篇内容主要讲解“vue有哪些实用技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue有哪些实用技巧”吧!监听组件的生命周期比如有父组件 Parent 和子...
    99+
    2024-04-02
  • VUE Nuxt.js 过渡效果库:探索可用的选项
    在构建用户界面 (UI) 时,过渡效果起着至关重要的作用。它们可以帮助用户在页面之间平滑过渡,并在交互过程中提供视觉反馈。在 Nuxt.js 中,可以使用多种过渡效果来实现这些目标。 內建的过渡效果 Nuxt.js 内置提供了几种常见的...
    99+
    2024-02-10
    Nuxt.js 过渡效果 页面过渡 动画效果
  • 前端开发必备技能:VUE Nuxt.js过渡效果解析
    ...
    99+
    2024-04-02
  • VUE Nuxt.js 过渡效果:让你的应用动起来!
    Nuxt.js 是一个基于 Vue.js 的框架,它为 Vue.js 提供了许多开箱即用的特性,其中包括内置的过渡效果。这些过渡效果可以帮助您轻松地创建平滑的动画,让您的应用程序更具交互性。 Nuxt.js 提供了两种类型的过渡效果: ...
    99+
    2024-02-10
    Vue, Nuxt, 过渡效果, 动画, 交互性
  • 提高开发效率的Vue技巧有哪些
    本篇内容主要讲解“提高开发效率的Vue技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“提高开发效率的Vue技巧有哪些”吧!组件(component)的使...
    99+
    2024-04-02
  • Vue的小技巧有哪些
    这篇文章主要介绍“Vue的小技巧有哪些”,在日常操作中,相信很多人在Vue的小技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue的小技巧有哪些”的疑惑有所帮助!接...
    99+
    2024-04-02
  • VUE和Nuxt.js:过渡效果的完美组合
    ...
    99+
    2024-04-02
  • 使用Numpy与Pandas的高效技巧有哪些
    本篇内容介绍了“使用Numpy与Pandas的高效技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Numpy 的 6 种高效函数首先...
    99+
    2023-06-15
  • 怎么使用JavaScript触发过渡效果
    这篇文章给大家分享的是有关怎么使用JavaScript触发过渡效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用 :hover 和 :focus 这样的伪类,我们可以很方便的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作