<transition :duration = "1000"></transition>
 
 <transition :duration = "{ enter: 500, leave: 800 }">...</transition> 
 
 <html>
    <head>
       <title>Vue.js Animation</title>
       <link rel="stylesheet" href="index.css">
         <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
         <script src = "https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>
     </head>
     <body>
     <div id = "trans">
          <button @click = "show = !show">
             <span style = "font-size:25px;">Toggle</span>
          </button>
          <transition v-on:before-enter = "beforeEnter"
             v-on:enter = "enter"
             v-on:leave = "leave"
             v-bind:css = "false">
             <p v-if = "show" style = "font-size:25px;">This is an animation Example with velocity</p>
          </transition>
       </div>
       </script>
       <script src="index.js"></script>
    </body>
 </html>
 
 var vm = new Vue({
             el: '#trans',
             data: {
                show: false
             },
             methods: {
                beforeEnter: function (el) {
                   el.style.opacity = 0
                },
                enter: function (el, done) {
                   Velocity(el, { opacity: 1, fontSize: '25px' }, { duration: 1000 })
                   Velocity(el, { fontSize: '10px' }, { complete: done })
                },
                leave: function (el, done) {
                   Velocity(el, { translateX: '15px', rotateZ: '50deg' }, { duration: 1500 })
                   Velocity(el, { rotateZ: '100deg' }, { loop: 2 })
                   Velocity(el, {
                      rotateZ: '45deg',
                      translateY: '30px',
                      translateX: '30px',
                      opacity: 0
                   }, { complete: done })
                }
             }
          })
 
 html, body {
     margin: 5px;
     padding: 0;
 }
 
  
 
  
  
 
  
  
 
  
 
 <transition v-on:before-enter = "beforeEnter"
    v-on:enter = "enter"
    v-on:leave = "leave"
    v-bind:css = "false">
    <p v-if = "show" style = "font-size:25px;">Animation Example with velocity</p>
 </transition> 
 
 methods: {
    beforeEnter: function (el) {
       el.style.opacity = 0
    },
    enter: function (el, done) {
       Velocity(el, { opacity: 1, fontSize: '25px' }, { duration: 1000 })
       Velocity(el, { fontSize: '10px' }, { complete: done })
    },
    leave: function (el, done) {
       Velocity(el, { translateX: '15px', rotateZ: '50deg' }, { duration: 1500 })
       Velocity(el, { rotateZ: '100deg' }, { loop: 2 })
       Velocity(el, {
          rotateZ: '45deg',
          translateY: '30px',
          translateX: '30px',
          opacity: 0
       }, { complete: done })
    }
 }
 
 <html>
    <head>
       <title>Vue.js Animation</title>
       <link rel="stylesheet" href="index.css">
       <link href = "https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel = "stylesheet" type = "text/css">
         <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
         <script src = "https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>
     </head>
     <body>
         <div id = "trans_2" style = "text-align:center">
          <transition
             appear
             appear-class = "custom-appear-class"
             appear-active-class = "animated bounceIn">
             <h3>This is BounceIn Animation Example</h3>
          </transition>
          <transition
             appear
             appear-class = "custom-appear-class"
             appear-active-class = "animated swing">
             <h3>This is Swing Animation Example</h3>
          </transition>
          <transition
             appear
             appear-class = "custom-appear-class"
             appear-active-class = "animated rubberBand">
             <h3>This is RubberBand Animation Example</h3>
          </transition>
       </div>
       </script>
       <script src="index.js"></script>
    </body>
 </html>
 
 var vm = new Vue({
             el: '#trans_2',
             data: {
                show: true
             }
          })