美文网首页
浅谈$emit和$on的用法

浅谈$emit和$on的用法

作者: 曲昶光 | 来源:发表于2020-05-25 23:40 被阅读0次

$emit和$on主要解决的问题是事件的定义和消费。

我们可以用$on方法定义一个事件,并且指定事件的处理方法,

this.$on('getParam',this.handleParam)//this.$on('自定义事件名',处理方法) 

然后我们在$emit中消费这个事件

this.$emit('getParam','name')//this.$emit('自定义事件名','要传送的数据')

用通俗的话讲就是$emit负责发送数据$on负责接收数据。

下面我将用示例详细说明$on与$emit在父子组件中的应用

1.父组件
<template>
<!--  自定义事件childrenEvent,处理方法handleChildrenEvent-->
  <children @childrenEvent="handleChildrenEvent" />
</template>
<script>
export default {
name:'parent',
  data () {
   return {
       message:'父组件数据'
  },
  methods: {
   handleChildrenEvent(type) {
      console.log(this.message,type)
    }
  }
}
</script>
2.子组件
<template>
<div @click="handleData"></div>
</template>
<script>
export default {
name:'children',
  data () {
   return {
       data:'子组件数据'
  },
  methods: {
   handleData () {
      this.$emit('childrenEvent',this.data)//将data传回父组件
    }
  }
}
</script>

以上便是我对$emit和$on的一些理解和总结。

相关文章

  • 浅谈$emit和$on的用法

    $emit和$on主要解决的问题是事件的定义和消费。 我们可以用$on方法定义一个事件,并且指定事件的处理方法, ...

  • 2019-04-24

    html HTML 标签 css flex vue vm.$emit用法 $emit 绑定一...

  • 父子组件传值

    1.vue的$emit()的用法:

  • $emit的用法

    ps:App.vue 父组件 Hello.vue 子组件