vue中组件通讯--子到父

Posted mushitianya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中组件通讯--子到父相关的知识,希望对你有一定的参考价值。

步骤:

  • 父组件提供一个方法
  • 这个方法是子组件调用的,数据通过方法的参数拿到
  • 将这个方法传递给子组件
  • 由子组件触发这个方法,将要传递的数据作为方法的参数传递
  <div id="app">
    <h1>{{ age }}</h1>

    <!-- 2 给子组件传递一个自定义事件 getmsg ,它的值是 getChildMsg 方法 -->
    <child @getmsg="getChildMsg"></child>
  </div>

  <script src="./vue.js"></script>
  <script>
    // 子到父:
    // 子组件:child组件
    // 父组件:vm实例

    const vm = new Vue({
      el: '#app',
      data: {
        age: 0
      },
      // 1 准备一个方法
      methods: {
        getChildMsg(data) {
          console.log('接受到子组件传递过来的数据为:', data)
          this.age = data
        }
      },
      components: {
        child: {
          template: `
            <div>
              <button @click="fn">传递数据给父组件</button>
            </div>
          `,
          methods: {
            fn() {
              // 3 触发父组件中传递过来的方法
              this.$emit('getmsg', 19)
            }
          }
        }
      }
    })
  </script>

以上是关于vue中组件通讯--子到父的主要内容,如果未能解决你的问题,请参考以下文章

子到父数据Vue JS

使用服务的角度子到父通信

子到父事件发出

HTML5 - 跨浏览器 iframe postMessage - 子到父?

Vue_(组件通讯)使用solt分发内容

有没有办法让 vue 组件的模板只包含属性的文本?