父组件注入数据子组件通过 props 接管
子组件 emit 数据父组件通过 @ 监听

<!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 :list="list"/>    </div>  </div></body><script>  Vue.component('myinput', {    template: `      <div>        <input v-model="title">        <button @click="add"> add </button>      </div>    `,    data() {      return {        title: '',      }    },    methods: {      add() {        this.$emit('add', this.title)      }    }  })  Vue.component('mylist', {    template: `      <ul>        <li v-for="item in list" :key="item.id">          {{ item.title }}        </li>      </ul>    `,    props: {      list: Array    }  })  //   var app = new Vue({    el: '#app',    data: {      list: [        {          id: 1,          title: 'title1',        },        {          id: 2,          title: 'title2',        },      ],        },    methods: {      add(title) {        this.list.push({          id: Math.random(),          title,        })      }    }  })</script></html>