创立 eventHub
兄组件向 eventHub 发送数据
弟组件监听 eventHub 获取数据

<!DOCTYPE html><html><head>  <meta charset="UTF-8">  <title></title>  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script></head><body>  <div id="app">    <div>      <myinput @add="add" />    </div>    <div>      <mylist/>    </div>  </div></body><script>  const eventHub = new Vue()  Vue.prototype.$eventHub = eventHub  //   Vue.component('myinput', {    template: `      <div>        <input v-model="title">        <button @click="add"> add </button>      </div>    `,    data() {      return {        title: '',      }    },    methods: {      add() {        this.$eventHub.$emit('add', this.title)      }    }  })  Vue.component('mylist', {    template: `      <ul>        <li v-for="item in list" :key="item.id">          {{ item.title }}        </li>      </ul>    `,    data: function() {      return {        list: []      }    },    created() {      this.$eventHub.$on('add', (title) => {        this.list.push({          id: Math.random(),          title,        })      })    }  })  //   var app = new Vue({    el: '#app',  })</script></html>