(学习心路历程)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. 概述 光环效应告诉我们: 当一个人在某一方面取得了巨大的成功,人们就会给他贴上正面的标签,这个人从此就被"优秀"的光环所笼罩,他做的一切,人们都认为是正确的. 例如:越是名气 ...
随机推荐
- 在.NET 6中使用DateOnly和TimeOnly
千呼万唤始出来 在.NET 6(preview 4)中引入了两个期待已久的类型,将作为核心库的一部分.DateOnly和TimeOnly允许开发人员表示DateTime的日期或时间部分.这两个类型为值 ...
- java学习之旅
jar文件其实就是一个压缩包,里面包含很多class文件(一个class文件是一个类的字节码).方便在网络上传输.可以规定版本号,更容易进行版本控制. var只能在方法内使用,不能用于定义成员变量. ...
- Ansible学习分享(基本)
背景:Teamleader提到一款好用的自动化配置管理工具,于是前去学习实践,有了下面分享. 纲要 一.Ansible简介 二.Ansible准备 2.1 Ansible安装 2.2 设置SSH公钥验 ...
- GO学习-(22) Go语言之依赖管理
Go语言之依赖管理 Go语言的依赖管理随着版本的更迭正逐渐完善起来. 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面.这就导致了同一个库只能保存一个 ...
- Linux 挂载盘
在192.168.6.203上,挂接第二块硬盘 fdisk -l 1.fdisk /dev/vdb 命令(输入 m 获取帮助):n Partition type: p primary (0 prima ...
- 十四、.net core(.NET 6)搭建ElasticSearch(ES)系列之给ElasticSearch添加SQL插件和浏览器插件
给ES添加SQL插件的方法: 下载SQL插件地址:https://github.com/NLPchina/elasticsearch-sql 当前最新的是7.12版本,我的ES是7.13版本,暂且将 ...
- MindSpore图像分类模型支持(Lite)
MindSpore图像分类模型支持(Lite) 图像分类介绍 图像分类模型可以预测图片中出现哪些物体,识别出图片中出现物体列表及其概率. 比如下图经过模型推理的分类结果为下表: 类别 概率 plant ...
- CodeGen字段循环Field Loop
CodeGen字段循环Field Loop 字段循环是一个模板文件构造,它允许迭代CodeGen拥有的有关字段的集合.这些字段定义可以来自以下两个位置之一: •如果基于从存储库结构中获取的信息生成代码 ...
- 32.qt quick-PathView实现好看的home界面
pathView的使用类似与ListView,都需要模型(model)和代理(delegate),只不过pathView多了一个路径(path)属性,顾名思义路径就是item滑动的路径. 一个Path ...
- 『动善时』JMeter基础 — 49、使用JMeter自身代理录制APP测试脚本
目录 1.测试计划内包含的元件 2.HTTP代理服务器的设置内容 3.设置手机的代理服务器 4.录制脚本 5.查看录制的脚本 6.HTTP代理服务器的排除模式 7.保存脚本 8.注意坑点 录制脚本只不 ...