JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.3/vue.min.js"></script>
<div id="app">
  <button @click="onClick">click me</button>
  <bullshit :value="value"></bullshit>
</div>

CSS

.value-enter-active,
.value-leave-active {
  transition: opacity 0.5s ease;
}

.value-enter,
.value-leave-to {
  opacity: 0;
}

JavaScript

Vue.component('bullshit', {
  props: [ 'value' ],
  template: `
<transition mode="out-in" name="value">
  <div :key="value">{{ value }}</div>
</transition>`
});

new Vue({
  el: '#app',
  data: {
    value: 0,
  },
  methods: {
  	onClick() {
      this.value = Math.random() * 1000 | 0;
    },
  },
});