Vue.js 2 template

HTML

<script src="https://unpkg.com/vue@2.5.6/dist/vue.js"></script>

<div id="app">
  {{parent}}
  <child :parent="parent" @update:parent="mutate"></child>
</div>

Babel + JSX

Vue.component('child', {
  template: `
    <div>
    	<input :value="parent.foo" @change="$emit('update:parent', $event.target.value)" />
    </div>
  `,
  props: {
    parent: {
      type: Object
    }
  }
})

new Vue({
  el: '#app',
  data: () =>  ({
    parent: {foo: 'a', bar: 'b'}
  }),
  
  methods: {
  	mutate (value) {
    	this.parent.foo = value
    }
   }
})