王文健的博客笔记


请多指教

vue内置组件——transition原理图文详解

基本概念

Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果

  • 在 CSS 过渡和动画中自动应用 class
  • 可以配合使用第三方 CSS 动画库,如 Animate.css
  • 在过渡钩子函数中使用 JavaScript 直接操作 DOM
  • 可以配合使用第三方 JavaScript 动画库,如 Velocity.js

简单用法

  • v-if/v-show控制显示隐藏,使用transition 组件控制其变化过程
  • 一个页面子组件router-view的消失隐藏,使用transition 组件控制其变化过程
<template>
// 子组件
    <transition name="fade1">
      <router-view></router-view>
    </transition>
// if/show控制
    <transition name="fade2">
      <div v-show="isTage"></div>
    </transition>
</template>

类名介绍

  1. v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
  1. v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。
  1. v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。
  1. v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
  1. v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
  1. v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

以上为vuejs官网介绍 下面我平时记载的笔记,结合图文,更容易理解些

变化原理

vue动画1.png

vue动画原理1.png

动画流程出现:

  • 开始前一帧:点击出现动画,元素由none变为block,动画开始前一帧,插入opacity:0属性 “1”,和监听opacity属性变化时间为3s “2”
  • 动画第二帧:opacity:0,属性 “1” 去除,引起“2”监听执行时间变化
  • 动画最后一帧:动画结束,去除所有

vue动画原理2.png

动画流程消失:

  • 开始前一帧:点击消失动画,元素由block变为none,动画开始前一帧,只插入监听opacity属性变化时间为3s “4”
  • 动画第二帧:插入,“3” 属性opacity:0引起 “2” 监听执行事件变化
  • 动画最后一帧:动画结束,去除所有

平时功能加个过渡动画看着两个图足够了
原创文章,转载请注明原文链接http://blog.wwenj.com/index.php/archives/63/

未经允许不得转载:王文健的博客笔记 » vue内置组件——transition原理图文详解

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. [...]平时功能加个过渡动画看着两个图足够了 原创文章,转载请注明原文链接http://blog.wwenj.com/index.p…[...]

    vue内置组件——transition简单原理图文详解 R11; 1 (2018-11-19) 回复
  2. [...]平时功能加个过渡动画看着两个图足够了 原创文章,转载请注明原文链接http://blog.wwenj.com/index.p…[...]

    vue内置组件——transition简单原理图文详解 R11; 1 (2018-11-22) 回复
Copyright & copy; 2018 @王文健. All rights reserved.

小编留言

本网站是作者学习路上的一个见证,记录和敦促我的学习生活,也希望借此结交更多前辈好友。记录作者在学习生活的点点滴滴,愿与你一同进步,共勉!

Copyright & copy; 2018 @王文健. All rights reserved.

感谢 WordPress DUX 提供的参考模板与设计,阿里云提供的优质云服务,使我完成本网站的制作