【此篇为本人的个人见解和哔哔赖赖,如果有观点不对的地方,还请大家指出来哇!!】

最近实习在做一个项目,里面应用的动画效果还蛮复杂的,因为本身对Vue框架比较熟悉,所以最终选择了Vue框架。

自己之前从来没接触过动画,所以就先学了两天,知道了transition、animation,然后就开始上手了。

毕竟本身就是新手,再加上自己对Vue其实并没有那么理解,于是乎,各种 js 操作 dom(刚好最近在看《JavaScript DOM编程艺术》),改写的代码全都写了,不该写得代码也全都写了,不知道的谁能看出来我用的是Vue框架!!

然后在上周的代码review,被leader和同事指出来了代码中的问题(不得不说,真的学到了很多)

1. 用 js 操作 DOM,完全没把 Vue 的优势利用出来,人家Vue明明可以操作虚拟dom,我还偏要去改变真实dom。

2. 对于一些动画效果,我自己实现就要设置各种 setTimeout 之类的,而Vue中有封装好的 <transition> 组件,可供直接使用。

醍醐灌顶,我先把涉及id的操作都改成了ref,然后开始学习 Vue <transition> 组件。其实学的过程中,会一直犹豫,我的那些动画效果,是用 <transition> 组件实现好呢,还是自己在js代码中手动添加style动画属性好呢(没错,就跟我刚开始做项目之前选框架一样,其实这些没多重要,但自己就是会各种对比,希望找到更合适的解决方案)于是乎,就有了这篇博客~(总自己心里想怪难受的,还不如把它记录下来)

(ps:具体的使用方法我都不介绍了,如果有时间的话,会在其它博客里总结一下)

一、 <transition> 组件

用人家封装好的组件,就肯定有一定的局限性。

首先呢,它只能用于以下几种操作:v-show/v-if、动态组件、组件根节点。其实就是,从无到有、从有到无的这样一个过渡/动画效果。这样就有一定的局限性了,比如那些,点击一下出现的动画效果,就不能用<transition>标签。

但是对于那种,要用v-if/v-show展示的标签,并且在它们进入或消失的时候要有一定的动画效果,那么用这个就超级方便。为啥呢,因为当某个标签通过这种方式消失的时候,设置的过渡/动画效果就没了,要想实现这个效果,就需要在js中,设置 setTimeout,待动画时间结束后,设置 display: none。

当然了,<transition>还是很强大的,而且其中的状态过渡其实自己并不是特别了解。如果真的对其得心应手了,我相信绝对是十分强大的。(一想到这就哭唧唧,又给自己埋了个坑,回头一定要按照官网的例子一个一个复现一遍,希望比现在的自己有更深的理解==)

二、 普通的过渡/动画

这个就很随意,也很强大了,你可以实现任何你想要的效果,只要不怕麻烦。


写到最后发现自己写的没啥营养价值,就当是自己的碎碎念吧,以后在使用过程中,理解一定会越来越深刻的,慢慢来!

又给自己埋了好多坑,先列出来,一一实现hhh:

  1. 好好学习 transition 和 animation 相关的,不止停留在会用阶段。
  2. 查看 <transition> 源码!!!(相信自己会对动画有更深的理解!!)
  3. 如果可以的话,希望可以看看大神们是如何写复杂动画的。

(学习心路历程)Vue过渡/动画 VS. 过渡/动画的更多相关文章

  1. contiki学习心路历程【转】xukai871105 大神

    https://blog.csdn.net/xukai871105/article/details/9072993

  2. .net工程师学习vue的心路历程(一)

    实习一年后,想做一个属于自己的博客网站,准备用core api去搭建服务端接口,前端准备采用vue这样的一个框架.本身时一个服务端程序员,所以来学习记录一些vue的知识点,有什么不足的希望大家指正,谢 ...

  3. Vue过渡效果之CSS过渡

    前面的话 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.本文将从CSS过渡transition.CSS动画animation及配合使用第三方CSS动画库(如animate. ...

  4. Vue过渡效果之JS过渡

    前面的话 与CSS过渡不同,JS过渡主要通过事件进行触发.本文将详细介绍Vue过渡效果之JS过渡 事件钩子 JS过渡主要通过事件监听事件钩子来触发过渡,共包括如下的事件钩子 <transitio ...

  5. CSS3 动画及过渡详解

    今天开始我们一起来学习有关于CSS3制作动画的几个属性:变形(transform).过渡(transition)和动画(animation)等CSS3技术. 首先我们先来了解一下变形(transfor ...

  6. Vue可复用过渡和动态过渡

    前面的话 本文将详细介绍Vue可复用过渡和动态过渡 可复用过渡 过渡可以通过 Vue 的组件系统实现复用.要创建一个可复用过渡组件,需要做的就是将 <transition> 或者 < ...

  7. html5--6-52 动画效果-过渡

    html5--6-52 动画效果-过渡 实例 @charset="UTF-8"; div{ width: 300px; height: 150px; margin: 30px; f ...

  8. css3中的变换、动画和过渡

    变换:分为2d变换和3d变换,但一次只能用一个变换属性,多个的话最后一个会覆盖前面所有最终被浏览器实现,变换可以成为过渡和动画的一个待变参数(类似width,opacity等). 过渡:是动画的初始模 ...

  9. VUE3 之 动画与过渡的实现 - 这个系列的教程通俗易懂,适合新手

    1. 概述 光环效应告诉我们: 当一个人在某一方面取得了巨大的成功,人们就会给他贴上正面的标签,这个人从此就被"优秀"的光环所笼罩,他做的一切,人们都认为是正确的. 例如:越是名气 ...

随机推荐

  1. 记一次 .NET 某电商交易平台Web站 CPU爆高分析

    一:背景 1. 讲故事 已经连续写了几篇关于内存暴涨的真实案例,有点麻木了,这篇换个口味,分享一个 CPU爆高 的案例,前段时间有位朋友在 wx 上找到我,说他的一个老项目经常收到 CPU > ...

  2. 重新整理 .net core 实践篇————配置系统之盟约[五]

    前言 在asp .net core 中我们会看到一个appsettings.json 文件,它就是我们在服务中的各种配置,是至关重要的一部门. 不管是官方自带的服务,还是我们自己编写的服务都是用它来实 ...

  3. idea-创建web.xml模板

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...

  4. Go语言协程并发---读写锁sync.RWMutex

    package main import ( "fmt" "sync" "time" ) /* 读写锁 多路只读 一路只写 读写互斥 */ / ...

  5. MindSpore网络模型类

    MindSpore网络模型类 Q:使用MindSpore进行模型训练时,CTCLoss的输入参数有四个:inputs, labels_indices, labels_values, sequence_ ...

  6. TensorRT原理图示

    TensorRT原理图示 NVIDIA的核心 TensorRT是有助于在NVIDIA图形处理单元(GPU)的高性能推理一个C ++库.它旨在与TensorFlow,Caffe,PyTorch,MXNe ...

  7. 低层级GPU虚拟内存管理引论

    低层级GPU虚拟内存管理引论 Introducing Low-Level GPU Virtual Memory Management CUDA应用程序越来越需要尽可能快速高效地管理内存.在CUDA 1 ...

  8. 编译原理-确定有穷自动机(deterministic finite automata ,DFA)

    是一个五元组 M=(S,∑,f,S0,F) 其中 S:有穷状态集 ∑:输入字母表(有穷) f:状态转换函数.f(S,a)=S' 是单值部分映射,每个状态面临一个输入符号时,转入的后继状态是确定的. S ...

  9. 【逆向&渗透实战】Dump内存中的Dex_我是如何脱壳某公司加固过的Apk并利用其API渗透对方数据库

    /作者:Kali_MG1937 QQ:3496925334 CNBLOG博客号:ALDYS4/ 某天午睡,朦朦胧胧梦到给学校提供建站模板的公司有个注射点 梦醒后,我凭借着零散的记忆日进了对面的数据库, ...

  10. 在Centos7下安装RabbitMQ

    1.背景 不用多说,这东西好用! 2.安装 步骤一:下载安装包 链接:https://pan.baidu.com/s/1PIYI60wX6L7BtVyVft-vSA 提取码:1234 复制这段内容后打 ...