(学习心路历程)Vue过渡/动画 VS. 过渡/动画
【此篇为本人的个人见解和哔哔赖赖,如果有观点不对的地方,还请大家指出来哇!!】
最近实习在做一个项目,里面应用的动画效果还蛮复杂的,因为本身对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:
- 好好学习 transition 和 animation 相关的,不止停留在会用阶段。
- 查看 <transition> 源码!!!(相信自己会对动画有更深的理解!!)
- 如果可以的话,希望可以看看大神们是如何写复杂动画的。
(学习心路历程)Vue过渡/动画 VS. 过渡/动画的更多相关文章
- contiki学习心路历程【转】xukai871105 大神
https://blog.csdn.net/xukai871105/article/details/9072993
- .net工程师学习vue的心路历程(一)
实习一年后,想做一个属于自己的博客网站,准备用core api去搭建服务端接口,前端准备采用vue这样的一个框架.本身时一个服务端程序员,所以来学习记录一些vue的知识点,有什么不足的希望大家指正,谢 ...
- Vue过渡效果之CSS过渡
前面的话 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.本文将从CSS过渡transition.CSS动画animation及配合使用第三方CSS动画库(如animate. ...
- Vue过渡效果之JS过渡
前面的话 与CSS过渡不同,JS过渡主要通过事件进行触发.本文将详细介绍Vue过渡效果之JS过渡 事件钩子 JS过渡主要通过事件监听事件钩子来触发过渡,共包括如下的事件钩子 <transitio ...
- CSS3 动画及过渡详解
今天开始我们一起来学习有关于CSS3制作动画的几个属性:变形(transform).过渡(transition)和动画(animation)等CSS3技术. 首先我们先来了解一下变形(transfor ...
- Vue可复用过渡和动态过渡
前面的话 本文将详细介绍Vue可复用过渡和动态过渡 可复用过渡 过渡可以通过 Vue 的组件系统实现复用.要创建一个可复用过渡组件,需要做的就是将 <transition> 或者 < ...
- html5--6-52 动画效果-过渡
html5--6-52 动画效果-过渡 实例 @charset="UTF-8"; div{ width: 300px; height: 150px; margin: 30px; f ...
- css3中的变换、动画和过渡
变换:分为2d变换和3d变换,但一次只能用一个变换属性,多个的话最后一个会覆盖前面所有最终被浏览器实现,变换可以成为过渡和动画的一个待变参数(类似width,opacity等). 过渡:是动画的初始模 ...
- VUE3 之 动画与过渡的实现 - 这个系列的教程通俗易懂,适合新手
1. 概述 光环效应告诉我们: 当一个人在某一方面取得了巨大的成功,人们就会给他贴上正面的标签,这个人从此就被"优秀"的光环所笼罩,他做的一切,人们都认为是正确的. 例如:越是名气 ...
随机推荐
- 利用MathType快速提取论文中的公式
首先随便打开一个论文,比如下图,我们想提取公式(2.2.7) 第一步:按截图快捷键:Win+Shift+S ,把公式截取下来 第二步:打开大佬开发的网站:https://mathf.itewqq.cn ...
- ASP.NET Core文件上传IFormFile于Request.Body的羁绊
前言 在上篇文章深入探究ASP.NET Core读取Request.Body的正确方式中我们探讨了很多人在日常开发中经常遇到的也是最基础的问题,那就是关于Request.Body的读取方式问题,看是简 ...
- Wrong——Python
1.向MySQL中插入时间(年月日时分秒),在时分秒处报错.在年月日与时分秒中间有个空格.解决办法:在sql语句中时间用一个" "包起来就可以了.. 2.在Ubuntu的cront ...
- Go语言介绍(背景、特点)
一.go语言的背景 Go是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go(又称 Golang)是 Google 的 Rob Pike(罗勃.派克),Ken Thompson(肯· ...
- 深入浅出Promise
Abstract Promise的意思是承诺(在红宝书中翻译为期约),新华字典:(动)对某项事务答应照办. Promise最早出现在Commn JS,随后形成了Promise/A规范. Promise ...
- 给手绘图着色(添加颜色或色彩):CVPR2020论文点评
给手绘图着色(添加颜色或色彩):CVPR2020论文点评 Learning to Shade Hand-drawn Sketches 论文链接:https://arxiv.org/pdf/2002.1 ...
- Python API vs C++ API of TensorRT
Python API vs C++ API of TensorRT 本质上,C++ API和Python API应该在支持您的需求方面接近相同.pythonapi的主要优点是数据预处理和后处理都很容易 ...
- 嵌入式Linux的OTA更新,基础知识和实现
嵌入式Linux的OTA更新,第1部分-基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一 ...
- 『动善时』JMeter基础 — 39、JMeter中如果(If)控制器详解
目录 1.什么是逻辑控制器 2.如果控制器介绍 3.如果控制器的使用 (1)测试计划内包含的元件 (2)如果控制器界面内容 (3)HTTP请求界面内容 (4)运行结果 4.如果控制器中表达式的写法 ( ...
- SQL注入问题------JDBC编写简单登录代码
一.什么是sql注入 sql注入:用户输入的内容, 有一些sql的特殊关键字参与字符串的拼接,完成了一条逻辑发生变化的新的SQL语句 !用代码举个例子简单说明一下: package cn.zhbit. ...