$ emit no activa eventos secundarios

Para un proyecto VueJS 2.0 tengo lo siguiente en el componente principal

<template>
<child></child>
<button @click="$emit('childEvent)"></button>
</template>

en el componente hijo tengo:

{
  events: { 'childEvent' : function(){.... },
  ready() { this.$on('childEvent',...) },
  methods: { childEvent() {....} }
}

Nada parece funcionar al hacer clic en el botón. ¿Es que necesito crear un método principal que luego se emita al niño? Estaba usando vuejs 1. pero ahora estoy confundido sobre las formas en que funcionan las comunicaciones de padres a hijos

Respuestas a la pregunta(5)

Su respuesta a la pregunta