Vue 之子组件向父组件通讯

怎样把子组件内特定的数据传给父组件?

比方
把子组件的名字传给父组件并在父组件上显现

思绪
在子组件被点击后 emit 一个事宜名和组件的名字
在父组件上监听子组件 emit 出的事宜,并触发处置惩罚函数
这个处置惩罚函数将子组件传出的子组件名字显现在父组件上

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.7/dist/vue.js"></script>
  </head>
  <body>
    <div id="app">
      child name: {{child}}
      <child v-on:say='greeting("child", $event)'></child>
    </div>
  </body>
  <script>
    Vue.component('child', {
      template: `
        <div>
          child
          <button v-on:click='$emit("say", "Jack")'>greeting</button>
        </div>
      `
    })
    new Vue({
      el: '#app',
      data: {
        child: '',
      },
      methods: {
        greeting: function (key, value) {
          this[key] = value
        },
      }
    })
  </script>
</html>
    原文作者:TaoWu
    原文地址: https://segmentfault.com/a/1190000018897561
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞