美文网首页VueJS
Vue入门之自定义事件$emit-父组件获取子组件的数据

Vue入门之自定义事件$emit-父组件获取子组件的数据

作者: 扁扁的汤圆 | 来源:发表于2018-12-24 22:49 被阅读35次

    前面讲过通过props子组件很容易就可以获取到父组件的数据,但是父组件怎么获取子组件的数据呢?通过查资料,发现可以通过自定义事件来实现父组件与子组件之间的通信。
    首先,得创建一个子组件模板文件,子组件在父组件中用的时候,总得有个触发动作可以获取到子组件的数据吧,所以,加个按钮,触发个动作。如下所示:

    1.子组件
    然后再子组件中定义下数据,不然父组件没有数据可以获取
    2.子组件
    点击button时,将子组件的数据发送给父组件,这时需要用到$emit
    3.子组件
    然后,在父组件中首先要引入子组件
    4.父组件
    5.父组件
    接收完数据后,就在页面上渲染展示
    6.父组件
    结果:
    7.结果
    最后,把代码贴出来:
    child.vue
    <template>
        <div>
           <button @click="emitData">点我获取子组件的数据哦</button>
        </div>
    </template>
    <script>
    export default {
      data () {
        return {
          child_data: '我是你的孩子哦'
        }
      },
      methods: {
        emitData () {
          this.$emit('child-event', this.child_data)
        }
      }
    }
    </script>
    

    App.vue

    <template>
      <div>
        <v-child @child-event="getBData"></v-child>
        {{child_data}}
      </div>
    </template>
    <script>
    import child from './components/child.vue'
    export default {
      data () {
        return {
          child_data: ''
        }
      },
      components: {
        'v-child': child
      },
      methods: {
        getBData (param) {
          this.child_data = param
        }
      }
    }
    </script>
    

    相关文章

      网友评论

        本文标题:Vue入门之自定义事件$emit-父组件获取子组件的数据

        本文链接:https://www.haomeiwen.com/subject/jfogkqtx.html