JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://unpkg.com/vue"></script>

<!-- Component -->
<template id="component">
  <input v-bind:value="value" @input="$emit('input', $event.target.value)">
</template>

<!-- Parent -->
<div id="app">
  <p>
    Parent variable: {{ user }}
  </p>
  <child-component v-model="user"></child-component>
  
</div>

JavaScript

Vue.component('child-component', {
  template: '#component',
  props: ['value'],
  methods: {
  	updateModel (event) {
  		this.$emit('input', event.target.value)
  	}
  }
});

new Vue({
  el: '#app',
  data () {
	  return {
	    user: 'John'
    }
  }
})