- 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
- 用法:
<transition> 元素作为单个元素/组件的过渡效果。<transition> 只会把过渡效果应用到其包裹的内容上,而不会额外渲染 DOM 元素,也不会出现在检测过的组件层级中。
<!-- 简单元素 --><transition><div v-if="ok">toggled content</div></transition><!-- 动态组件 --><transition name="fade" mode="out-in" appear><component :is="view"></component></transition><!-- 事件钩子 --><div id="transition-demo"><transition @after-enter="transitionComplete"><div v-show="ok">toggled content</div></transition></div>
new Vue({
...
methods: {
transitionComplete: function (el) {
// 传入 'el' 这个 DOM 元素作为参数。
}
}
...
}).$mount('#transition-demo')
- 参考:过渡:进入,离开和列表
