Edit in JSFiddle

const Child = {
	inject: ['foo'],

	template: `<div>{{ foo.bar }}</div>`,
}

new Vue({
	el: '#app',

  provide () {
    const foo = {}
    Object.defineProperty(foo, 'bar', {
       enumerable: true,
       get: () => this.bar,
    })
    return { foo }
  },

  data: () => ({ bar: 'baz' }),
  
  components: { Child }
})
<script src="https://unpkg.com/vue@2.2.2/dist/vue.js"></script>

<div id="app">
  
  <div>
    <input v-model="bar">
  </div> <br>
  
  <child></child>
  
</div>