Edit in JSFiddle

Vue.component('say', {
	template: `
  <div>
  	<input v-model="this.message" type="text"></input>
  	<button type="button" @click="$emit('speak', this.message)">Speak</button>
	</div>`,
  
  data: {
    message: ''
  }
})

new Vue({
	el: '#root',
  
  methods: {
    speakMethod: function (msg) {
      alert(msg)
    }
  }
})
<html>
  <body>
    <div id="root">
      <say v-on:speak="speakMethod($event)"></say>
    </div>
  </body>

  <script src="https://cdn.jsdelivr.net/npm/vue"></script>
</html>