Vue内置组件transition的灵活运用
前言:在做语音APP的H5开发的时候,遇到很多动效还原的场景,而且对用户体验感有较强的要求。某些场景经常会有用到transition这个属性。
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";默认同时进行。duration- number | {enter: number,leave: number } 指定过渡的持续时间。默认情况下,Vue 会等待过渡所在根元素的第一个transitionend或animationend事件。enter-class- stringleave-class- stringappear-class- stringenter-to-class- stringleave-to-class- stringappear-to-class- stringenter-active-class- stringleave-active-class- stringappear-active-class- string
事件:
before-enterbefore-leavebefore-appearenterleaveappearafter-enterafter-leaveafter-appearenter-cancelledleave-cancelled(v-showonly)appear-cancelled
运用
- 可以通过css来自定义transition达到的效果
- 如果想在transition的过渡效果完成之后,触发某个函数,可以用
after-leave来实现,在进入过渡之后完成后触发的话就用after-enter。
模式
in-out:新元素先进行过渡,完成之后 当前元素过渡离开。out-in:当前元素先进行过渡,完成之后 新元素过渡进入。
- 示例:
1 | <!-- 事件钩子 --> |
1 | function EnterComplete(){ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AliveSeven's Blog!
评论
