vue的动画对于很多初学者,甚至对很多老鸟来说也是很费劲,不容易控制的。
这篇文章讲vue动画的理解。其实没那么难。

动画理解

一个元素从A状态变成B状态,如果这个过程通过某种方式反应在视图上了,那么这个元素完成了一个动画。如果有很多状态A->B->C->D...,那么它完成了一系列动画。

重点:状态A、状态B和某种方式

vue控制三者的核心

6个class

  1. v-enter enter翻译过来是“进入”,这里的进入是指的进入时的状态(此时看不见元素)
  2. v-leave-to leave-to翻译过来是“离开到”,这里指的是离开完成之后的状态(此时看不见元素)
  3. v-leave leave翻译为“离开”,这里指离开时的状态(此时看得见元素)
  4. v-enter-to enter-to翻译为“进入到”,这里指的是进入完成之后的状态(此时看得见元素)

我们讨论的是进入、离开和列表过度时的动画,主要是在使用诸如v-if v-show 路由切换技术上,一个元素从有到无,从无到有,其实就只有两种状态(A、B),。上诉的4个class就是用来指定这两种状态的:

a. v-enterv-leave-to指定时的状态(请结合英语或翻译理解);b. v-leavev-enter-to指定时的状态(请结合英语或翻译理解)

此时,我们定义了两种状态,如果我们的再指定某种方式,就可以把从无到有,从有到无的过程反应在视图上,形成我们看到的过度或者动画。

  1. v-enter-active 指定从无到有的变换方式

  2. v-leave-active 指定从有到无的变换方式

所以,这两种属性里面指定的规则一般是transitionanimation两种,分别对于简单的过度(线性)和复杂的动画(线性和非线性)

现在再看这个图片是不是很好理解了

vue动画理解,进入、离开、列表过度和路由切换。的更多相关文章

  1. vue总结 04过渡--进入/离开 列表过渡

    进入/离开 & 列表过渡 概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CS ...

  2. vue 详情跳转至列表页 实现列表页缓存

    甲爸爸提了一个需求,希望公众号内的商城能够像app一样,从商品详情页跳转至列表页及其他列表页时,可以实现列表页缓存(数据不刷新.位置固定到之前点的商品的位置) 本来想着scrollBehavior应该 ...

  3. Vue动画操作

    概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.c ...

  4. vue动画及其原理

    1,vue动画的实现原理,主要是通过在不同时期给需要动画的dom元素加上css动画样式 我们以显示和隐藏动画为例 a, 需要动画的dom元素 b,点击时vue控制往vue中加的样式 2,  我们以两张 ...

  5. vue教程3-02 vue动画

    vue教程3-02 vue动画 以下代码,已经用包管理器下载好vue,animate <!DOCTYPE html> <html lang="en"> &l ...

  6. CSS3动画理解与应用

    CSS3动画理解与应用 Transform:对元素进行变形:Transition:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画.但只有两个关键贞.开始,结束.Anima ...

  7. vue动画实现方式

    vue动画实现方式 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...

  8. Javascript - Vue - 动画

    动画状态类名 vue动画通过将需要执行动画的标签放入transition标签中,再通过设置预置的vue动画类名的css样式来控制动画的呈现效果. 开场动画状态的三个类名 v-enter:动画开始之前的 ...

  9. vue动画的用法

    vue动画 在vue.js中有两种写动画的方法,第一种就是像js里一样,用原生代码来实现,第二种则是使用animate.css的动画类文件,这个动画类和bootstrap.css文件类似,直接调用类就 ...

随机推荐

  1. opencart按重量配送如何设置

    OpenCart中基于重量的配送模块让你使用自己的价格折算表来决定配送价格.可以基于不同的重量允许设置价格范围,重量和价格的格式如下:weight(重量1):cost(价格1), weight(重量2 ...

  2. Chrome DevTools的使用

    一.Chrome DevTools 简介 Chrome 开发者工具是一套内置于Google Chrome中的Web开发和调试工具,可用来对网站进行迭代.调试和分析 手册:Chrome 开发者工具中文手 ...

  3. django ORM创建

    简短的例子 from django.db import models class Person(models.Model): first_name = models.CharField(max_len ...

  4. Android Studio 星云常用配置工具箱

    1. 安装插件 1.1 Android View绑定框架 开源地址:https://github.com/JakeWharton/butterknife 插件地址: https://github.co ...

  5. 【转】SkipList跳表基本原理

    增加了向前指针的链表叫作跳表.跳表全称叫做跳跃表,简称跳表.跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表.跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找.跳表不仅 ...

  6. Huffman树与Huffman编码

    1.Huffman树 今天复习Huffman树.依稀记得自己被Huffman树虐的经历.还记得是7月份,我刚开始看数据结构与算法,根本看不懂Huffman树的操作.后来我终于悟出了Huffman树是怎 ...

  7. 【CSP-S膜你考】我们的可可西里

    我们的可可西里 题面 转眼到了2008年的6月9日,盼望已久的高考结束了.我们踏上了向西的旅程(本来是想写西去之路,可是考虑不太妥当).可可西里,多么诱人的名词,充满了奇幻的色彩和自然的淳朴.从可可西 ...

  8. Kafka Rebalance机制分析

    什么是 Rebalance Rebalance 本质上是一种协议,规定了一个 Consumer Group 下的所有 consumer 如何达成一致,来分配订阅 Topic 的每个分区. 例如:某 G ...

  9. QHBoxLayout 、QFormLayout 遍历子部件,查找QLineEdit控件

    布局如下: QLineEdit * edit1 = new QLineEdit; QLineEdit * edit2 = new QLineEdit; QLineEdit * edit3 = new ...

  10. Tomcat通过脚本自动部署

    1:autodeploy_tomcat_app.sh now=`date +%Y%m%d%H%M%S` tomcatPath=/home/test/apache-tomcat- backupPath= ...