(学习心路历程)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. 概述 光环效应告诉我们: 当一个人在某一方面取得了巨大的成功,人们就会给他贴上正面的标签,这个人从此就被"优秀"的光环所笼罩,他做的一切,人们都认为是正确的. 例如:越是名气 ...
随机推荐
- Kubernetes集群搭建 ver1.20.5
目录 部署方式 1. 基础环境准备 1.1 基础初始化 1.2 安装docker 2. 部署harbor及haproxy高可用反向代理 2.1 镜像加速配置 2.2 高可用master可配置 3. 初 ...
- 【C++】禁用/启用笔记本键盘工具(含源码)
目录 前言 简单介绍注册表 (1)根键 (2)子键 (3)键值项 操作注册表的几个API函数 (1)打开一个键 (2)查询某一个键值 (3)设置一个键值 (4)新建指定键 (5)删除注册表指定键下的值 ...
- Windows登录服务器CLI运行脚本出现 syntax error: unexpected end of file 错误的解决
0.前言 通常我们在编辑 Linux 服务器上的文件时,直接在 Linux 环境比较麻烦(当然熟练使用 VIM 的程序员除外哈哈),有时我们会使用 Windows 将文件编辑好再上传到服务器端,我用的 ...
- JAVA并发(4)-并发队列ConcurrentLinkedQueue
本文开始介绍并发队列,为后面介绍线程池打下基础.并发队列莫非也是出队.入队操作,还有一个比较重要的点就是如何保证其线程安全性,有些并发队列保证线程安全是通过lock,有些是通过CAS. 我们从Conc ...
- 使用goland调试远程代码
前言 很多时候我们都在window上使用goland,并直接使用goland调试go代码. 但是很多时候我们的程序运行在Linux服务器上,虽然可以通过dlv命令行进行手动打断点调试,但是太麻烦了. ...
- THINKPHP_(3)_TP6中实现多层关联,第一个表关联第二个表查询出的数据,再关联第三个表
问题: (1)canxunDanwei数据表对应的模型中有一个关联是: public function canxunDanwei() { return $this->belongsTo('\ap ...
- 深度学习白平衡(Color Constancy,AWB):ICCV2019论文解析
深度学习白平衡(Color Constancy,AWB):ICCV2019论文解析 What Else Can Fool Deep Learning? Addressing Color Constan ...
- 神经网络AI加速器技术
神经网络AI加速器技术 能够直接加速卷积神经网络,还能够直接运行常见的网络框架,如TensorFlow.Caffe.PyTorch,DarkNet等,支持用户定制化的网络和计算类型. 功能特点: ● ...
- 盘点用jQuery框架实现“for循环”的四种方式!
摘要:分享在jQuery高级开发中对元素标签体的遍历常用的几种方法. 本文分享自华为云社区<盘点用jQuery框架实现"for循环"的四种方式!>,原文作者:灰小猿 . ...
- 把axios获取到的数据渲染到列表上,使用better-scroll实现列表左右滑动
问题:axios数据请求完后,页面是有数据的,即页面看到有数据,但是better-scroll却无法滚动 原因:这是因为在数据更新前,better-scroll已经渲染完成了 解决方法:这是个异步问题 ...