摘要:事件有效六个过度类名简单地说就是会伴随的整个过程,与存在的时长只都有一帧,所以用肉眼看与几乎是同时出现,同时消失的。未触发效果触发效果,因为所以在他之后的都上移位置发生改变未触发效果,过度开始时改变位置才有效
transition props
name: - string,用于自动生成 CSS 过渡类名。例如:name: "fade" 将自动拓展为.fade-enter,.fade-enter-active等。默认类名为 "v"
appear: - boolean,是否在初始渲染时使用过渡。默认为 false。
css: - boolean,是否使用 CSS 过渡类。默认为 true。如果设置为 false,将只通过组件事件触发注册的 JavaScript 钩子。
type: - string,指定过渡事件类型,侦听过渡何时结束。有效值为 "transition" 和 "animation"。默认 Vue.js 将自动检测出持续时间长的为过渡事件类型。
mode: - string,控制离开/进入的过渡时间序列。有效的模式有 "out-in" 和 "in-out";默认同时生效。
enter-class: - string
leave-class: - string
appear-class: - string
enter-to-class: - string
leave-to-class: - string
appear-to-class: - string
enter-active-class: - string
leave-active-class: - string
appear-active-class: - string
事件before-enter
before-leave
before-appear
enter
leave
appear
aftrt-enter
after-leave
after-appear
enter-cancelled
leave-cancelled(v-show有效)
appear-cancelled
六个过度类名
简单地说就是 active 会伴随 enter/leave 的整个过程,v-enter 与 v-leave 存在的时长只都有 一帧 ,所以用肉眼看v-enter-to与v-enter-active几乎是同时出现,同时消失的。
于是就会经常看到一些相同动画效果写法却不完全一样:(这也是我之前存在疑惑的地方)
1、
.fade-enter-active, .fade-leave-active { transition: opacity .5s; } .fade-enter, .fade-leave-to { opacity: 0; }
2、
.fade-enter-active, .fade-leave-active { transition: opacity .5s; } .fade-enter, .fade-leave-active { opacity: 0; }单组件过度 过度
hello
.fade-enter-active, .fade-leave-active { transition: opacity .5s; } .fade-enter, .fade-leave-to { opacity: 0; }动画
类似的只需要在过度类中填写动画即可
.fade-enter-active, .fade-leave-active { animation: fade-in .5s; } .fade-enter, .fade-leave-to { animation:fade-in .5s reverse; } @keyframes bounce-in { 0% { ooacity: 0; } 50% { ooacity: .5; } 100% { ooacity: 1; } }自定义过度类名
vue还支持分别添加自定义过度类名,能够方便的配合第三方动画库
enter-class
enter-active-class
enter-to-class (2.1.8+)
leave-class
leave-active-class
leave-to-class (2.1.8+)
JavaScript钩子methods: { beforeEnter: function (el) { el.style.opacity = 0; //el:进行当前动作的dom元素 }, //当只用 JavaScript 过渡的时候, 在 enter 和 leave 中,回调函数 done 是必须的 。否则,它们会被同步调用,过渡会立即完成。 enter: function (el, done) { // ... done() }, afterEnter: function (el) { // ... }, enterCancelled: function (el) { // ... }, beforeLeave: function (el) { // ... }, leave: function (el, done) { // ... done() }, afterLeave: function (el) { // ... }, // leaveCancelled 只用于 v-show 中 leaveCancelled: function (el) { // ... } }列表过度
列表过度使用
Vue 使用了一个叫 FLIP 简单的动画队列,使用 transforms 将元素从之前的位置平滑过渡新的位置。
*v-move是在过度开始时判断元素的位置是否发生改变,并且key是识别每个元素的关键。 在v-for中用index来绑定key值就不会虽然可行,但是不会触发v-move效果,因为不管数据怎么变数组下标还是没变。
*一定要在过度开始时就然元素的位置发生改变:v-enter或者v-leave或者active阶段,而v-leave-to 和v-enter-to不行
看下面一个demo,因为只是一组垂直排列的li所以position:absolute会腾出位置,之后的li会上移。
{{item.text}}
.slide-move{ /*v-move*/ trsnsition: all .5s; } .slide-leave-active{ /*未触发v-move效果*/ transform: translate3d(-100%, 0, 0); } .slide-leave-active{ /*触发v-move效果,因为absolute所以在他之后的li都上移位置发生改变*/ position: absolute; transform: translate3d(-100%, 0, 0); } slide-leave-to{ /*未触发v-move效果,过度开始时改变位置才有效*/ position: absolute; transform: translate3d(-100%, 0, 0); }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/113094.html
摘要:包括以下工具在过渡和动画中自动应用可以配合第三方动画库,如在过渡钩子函数中使用直接操作可以配合使用第三方动画库,如在这里,我们只会讲到进入离开和列表的过渡。不仅可以进入和离开动画,还可以改变定位。 概述 Vue在插入、更新或则移除DOM时,提供多种不同方式的应用过渡效果。包括以下工具: *在CSS过渡和动画中自动应用class *可以配合第三方CSS动画库,如Animate.css *...
饿了么 vue 项目总结 项目效果预览 ele效果预览项目源码地址 ele源码跟着慕课网黄轶老师 敲饿了么 vue 项目 作者项目源代码地址 项目完成之后 npm run build 这本来是写在最后面一段的,我现在把他写在了最前面,方便我们事先知道,整个项目做完之后是什么样子的 项目完成之后在 根目录 下 npm run build (就是 npm run dev 的那个目录) 会在根目录...
摘要:序言刚来杭州的时候,是两个人一起来的。后来一个回家当老师,一个留在了杭州。想起那时,在慕课买的第一课程,囫囵吞枣的看完了。现在回过头来看看,这个临时抱佛脚的启蒙项目,真的还有不少的收获。滚动视图的位置缓存路由元对象。 序言 刚来杭州的时候,是两个人一起来的。后来一个回家当老师,一个留在了杭州。想起那时,在慕课买的第一课程,囫囵吞枣的看完了。勉强才找到了一份工作,今天看起来,其实还是有点...
摘要:项目地址需求来源通常在各个招聘网站,我们填写完一些信息后,网站就可以帮助我们生成一个很不错的简历。但是作为一名开发者,尤其是前端开发者,可能对这种简历并不满意。,前端开发神器。最后,为了保护隐私。 背景 前一阵子,闲下来便开始着手做一个一直想做的东西--resume。经过几天业余时间的折腾,终于做出了一番模样。Github项目地址:https://github.com/eternity...
阅读 3889·2021-11-18 13:21
阅读 4619·2021-09-27 14:01
阅读 3095·2019-08-30 15:53
阅读 2359·2019-08-30 15:43
阅读 1710·2019-08-30 13:10
阅读 1481·2019-08-29 18:39
阅读 871·2019-08-29 15:05
阅读 3305·2019-08-29 14:14