Vue动画篇(四)——列表动画,CSS的标准文档流

45 阅读2分钟

js基础

1)对js的理解? 2)请说出以下代码输出的值? 3)把以下代码,改写成依次输出0-9 4)如何区分数组对象,普通对象,函数对象 5)面向对象、面向过程 6)面向对象的三大基本特性 7)XML和JSON的区别? 8)Web Worker 和webSocket? 9)Javascript垃圾回收方法? 10)new操作符具体干了什么呢? 11)js延迟加载的方式有哪些? 12)WEB应用从服务器主动推送Data到客户端有那些方式?

js基础.PNG

前16.PNG

开源分享:docs.qq.com/doc/DSmRnRG… 这是一个简单的列表,只有一个简单的添加数据的功能,动画部分是每次添加数据时,新出现的数据都会以动画的形式出现。

vueApp ul { list-style: none; } li { border: 1px dashed gray; padding: 5px; margin-bottom: 10px; } li:hover { background-color: pink; transition: all 0.4s ease; } .v-enter, .v-leave-to { opacity: 0; transform: translateY(100px); } .v-enter-active, .v-leave-to { transition: all 0.6s ease; }

<button @click="add">添加

  • {{item.id}}-------{{item.name}}

注意事项

(1)在实现列表过渡的时候,需要过度的元素,是通过v-for循环渲染出来的,不能使用 transition 包裹,需要使用transitionGroup

(2)如果要为v-for循环出来的元素设置动画,必须为每一个元素设置 :key 属性

(3)最后要定义这两组类

.v-enter,

.v-leave-to {

opacity: 0;

transform: translateY(100px);

}

.v-enter-active,

.v-leave-to {

transition: all 0.6s ease;

}

列表删除功能动画实例


承接上个例子,增加了列表删除功能

vueApp ul { list-style: none; } li { border: 1px dashed gray; padding: 5px; margin-bottom: 10px; width: 100%; } li:hover { background-color: pink; transition: all 0.4s ease; } .v-enter, .v-leave-to { opacity: 0; transform: translateY(100px); } .v-enter-active, .v-leave-to { transition: all 0.6s ease; } /* v-move 和 v-leave-to 配合使用,能够实现列表后续的元素,逐渐飘上来的效果 */ .v-move { transition: all 0.6s ease; } .v-leave-to { position: absolute; }

<button @click="add">添加

最后

面试一面会问很多基础问题,而这些基础问题基本上在网上搜索,面试题都会很多很多。最好把准备一下常见的面试问题,毕竟面试也相当与一次考试,所以找工作面试的准备千万别偷懒。面试就跟考试一样的,时间长了不复习,现场表现肯定不会太好。表现的不好面试官不可能说,我猜他没发挥好,我录用他吧。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

96道前端面试题:

常用算法面试题:

前端基础面试题: 内容主要包括HTML,CSS,JavaScript,浏览器,性能优化