vue内置组件transition简单原理图文详解(小结)


Posted in Javascript onJuly 12, 2018

基本概念

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

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

变化原理

vue内置组件transition简单原理图文详解(小结) 

vue内置组件transition简单原理图文详解(小结) 

动画流程出现:

开始前一帧: 点击出现动画,元素由none变为block,动画开始前一帧,插入 opacity:0 属性 “1” ,和监听opacity属性变化时间为3s “2”

动画第二帧: opacity:0 ,属性 “1” 去除,引起**“2”**监听执行时间变化

动画最后一帧: 动画结束,去除所有

vue内置组件transition简单原理图文详解(小结)

 动画流程消失:

开始前一帧: 点击消失动画,元素由block变为none,动画开始前一帧,只插入监听opacity属性变化时间为3s “4”

动画第二帧: 插入, “3” 属性opacity:0引起 “2” 监听执行事件变化

动画最后一帧: 动画结束,去除所有

平时功能加个过渡动画看着两个图足够了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
JS实现图片翻书效果示例代码
Sep 09 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
Dec 19 Javascript
对JavaScript中this指针的新理解分享
Jan 31 Javascript
jQuery获取file控件中图片的宽高与大小
Aug 04 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
Aug 31 Javascript
如何使用jquery实现文字上下滚动效果
Oct 12 Javascript
Vue中fragment.js使用方法详解
Mar 09 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
Angular4学习教程之DOM属性绑定详解
Jan 04 Javascript
angularjs1.X 重构controller 的方法小结
Aug 15 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
Nov 17 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
Jul 11 #Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 #Javascript
Vue.js实现的计算器功能完整示例
Jul 11 #Javascript
JavaScript类的继承方法小结【组合继承分析】
Jul 11 #Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 #Javascript
JSON数据中存在单个转义字符“\”的处理方法
Jul 11 #Javascript
JS实现动态生成html table表格的方法分析
Jul 11 #Javascript
You might like
PHP脚本的10个技巧(6)
2006/10/09 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
vue之延时刷新实例
2019/11/14 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
人力资源主管职责范本
2014/03/05 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
青岛海底世界导游词
2015/02/11 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
Redis性能监控的实现
2021/07/09 Redis
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python