JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.1/vue.js"></script>
<div id="app">
  <transition name="slide-fade" mode="out-in">
    <div :key="value">
      {{ value }}
    </div>
  </transition>
  <button @click="add">
   Add
  </button>
  <button @click="subtract">
   Subtract
  </button>
</div>

CSS

.slide-fade-enter-active {
  transition: all .3s ease;
}
.slide-fade-leave-active {
  transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-enter, .slide-fade-leave-to
/* .slide-fade-leave-active for <2.1.8 */ {
  transform: translateX(10px);
  opacity: 0;
}

JavaScript

new Vue({
	data: {
  	value: 5,
  },
  methods: {
  	add () {
    	this.value++
    },
    subtract () {
			this.value--
    },
  },
}).$mount('#app')