Как решить эту проблему?
Три варианта:
1. Посылать ивент в батю, батя пошлет деду, так до общего предка, общий предок спустит пропс своим наследникам.
2. Использовать Vuex, изменять там состояние, чтобы другой элемент просто обновлялся при изменении затрагивающих его состояний
3. Общаться напрямую через рут
Компонент1:this.$root.$emit('eventing', data);
Компонент2:mounted() {
  this.$root.$on('eventing', data => {
    console.log(data);
  });
}
Чтобы в родителе ловить эвенты, достаточноchild
<template>
  <div @click="$emit('click')"></div>
</template>

parent
<template>
  <div class="warp">
    <item @click="" />
    <item @click="" />
    <item @click="" />
  </div>
</template>