• 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 会等待过渡所在根元素的第一个 transitionendanimationend 事件。
      • 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
      • after-enter
      • after-leave
      • after-appear
      • enter-cancelled
      • leave-cancelled (v-show only)
      • appear-cancelled
    • 用法

    <transition> 元素作为单个元素/组件的过渡效果。<transition> 只会把过渡效果应用到其包裹的内容上,而不会额外渲染 DOM 元素,也不会出现在检测过的组件层级中。

    1. <!-- 简单元素 -->
    2. <transition>
    3. <div v-if="ok">toggled content</div>
    4. </transition>
    5. <!-- 动态组件 -->
    6. <transition name="fade" mode="out-in" appear>
    7. <component :is="view"></component>
    8. </transition>
    9. <!-- 事件钩子 -->
    10. <div id="transition-demo">
    11. <transition @after-enter="transitionComplete">
    12. <div v-show="ok">toggled content</div>
    13. </transition>
    14. </div>
    new Vue({
      ...
      methods: {
        transitionComplete: function (el) {
          // 传入 'el' 这个 DOM 元素作为参数。
        }
      }
      ...
    }).$mount('#transition-demo')
    • 参考:过渡:进入,离开和列表