首页新闻找找看学习计划

root.$emit() 发送事件,父组件没有接收到该事件?

0
悬赏园豆:30 [已解决问题] 解决于 2019-11-25 09:18

子组件

<script lang="ts">
import { createComponent } from '@vue/composition-api'

export default createComponent({
  setup(props, {root}) {
    const action = (data) => {
      root.$emit('change', data)
    }

    return {
      action ,
    }
  },
})
</script>

父组件

<template>
    <my-component @change="change" />
</template

<script lang="ts">
import { createComponent } from '@vue/composition-api'
export default createComponent({
  setup(props, ctx) {
    const change = (data) => {
      console.log(data)
    }

    return {
      change ,
    }
  },
})
</script>

父组件一直接收不到子组件事件通知?

hellotim的主页 hellotim | 小虾三级 | 园豆:1489
提问于:2019-11-24 20:22
< >
分享
最佳答案
0

额,不要使用ctx.root.$emit来发送事件,直接使用ctx.emit来发送事件可以成功。

hellotim | 小虾三级 |园豆:1489 | 2019-11-25 09:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册